First time here? Check out the FAQ!
0

Cullman feed metadata does not have lookup field values

  • retag add tags

We are trying to hookup a new feed to our data intake process. We are able to login and download the metadata, but what it returns in the XML does not contain normal lookup values that we pass to the endpoint. Example...

https://api.(removed).com/v2/Property... eq Enums.StandardStatus'Active') and MlgCanView eq true and OriginatingSystemName eq '(removed)'&$top=5&$count=true&$expand=Media,Rooms

So this is requesting from a "lookup" field the Standard Status= Active. Normally we are given a list of statuses that we can query for in the metadata. Ex: Active, Closed, Pending...etc

Cullman has the fields marked as lookup, but thats all the info given.

<propertypath>Appliances</propertypath>

<property name="Appliances" type="Collection(Edm.String)" nullable="true"> <annotation term="RESO.OData.Metadata.LookupName" string="Appliances"/> </property>

Login name: smlsaIn_House New RETS Web API: https://smlsa.paragonrels.com/OData/S... Web API Metadata: http://smlsa.paragonrels.com/OData/SM... Access Token URL: https://smlsa.paragonrels.com/OData/S...

andybex's avatar
andybex
asked 2023-04-11 09:39:38 -0500
edit flag offensive 0 remove flag close merge delete

Comments

You can use something like this to pull the lookups: https://smlsa.paragonrels.com/OData/SMLSA/Strategic_17/Lookup?$top=50000&$filter=(LookupName%20eq%20%27StandardStatus%27)

In the metadata the lookup name is in the Annotation:
<property name="StandardStatus" type="Edm.String" nullable="true" maxlength="25">
<annotation term="RESO.OData.Metadata.LookupName" string="StandardStatus"/>
</property>

bwolven's avatar bwolven (2023-04-12 09:45:17 -0500) edit

Ok, so we are able to get lookup values now. Question, some fields are listed as lookup in the metadata, such as BuyerOfficeAOR in the resource Property, but when queried for it, we get a 200 and empty list returned. Are these lookups that Cullman doesnt use?

Next, we queried for StandardStatus = Active and got our results, but some fields return with a [], such as Sewer. Sewer is a lookup field and has lookup values, but when you try any lookup value it returns a 500 error. Ex: https://smlsa.paragonrels.com/OData/SMLSA/Strategic_17/Property?$filter=(Sewer+eq+'Septic Tank')&$top=5&$count=true

Also, are there any docs to reference? We were only given 3 urls and 1 example queries for login.

Thank you

andybex's avatar andybex (2023-04-13 14:58:12 -0500) edit

Since the type is Collection you would need to use a Lambda expression like this:

<property name="Sewer" type="Collection(Edm.String)" nullable="true">
<annotation term="RESO.OData.Metadata.LookupName" string="Sewer"/>
</property>

https://smlsa.paragonrels.com/OData/SMLSA/Strategic_17/Property?$filter=Sewer/any(s:s eq 'Septic Tank')
bwolven's avatar bwolven (2023-04-13 17:29:20 -0500) edit

still having issues querying... figure out how to do more than 1 field such as in the documentation here https://github.com/RESOStandards/tran...

We need to search by more than 1 status and get a 500 trying to build logical and/or. Example

        query_dict = {'url': "https://smlsa.paragonrels.com/OData/SMLSA/Strategic_17/Property?$filter=(PropertyType+eq+'Residential')+and+(StandardStatus+eq+'Active'+or+StandardStatus+eq+'Provisional')&$top=200&$count=true"}

I can do (PropertyType+eq+'Residential')+and+(StandardStatus+eq+'Active'), but no mater how i format multiple StandardStatus I get a 500.

I need to be able to do residential and (active or coming soon or sold etc etc). Can you help with this?

andybex's avatar andybex (2023-04-19 14:07:58 -0500) edit

Hi Andy,

A quick follow up from the other day. I was able to verify the syntax from above works just fine for me using Postman. Though, please be aware the Cullman data feed from SMLSA does not include the Incomplete status. If you'd like to start getting those listings, please reach out to the MLS.

https://smlsa.paragonrels.com/OData/smlsa/Strategic_17/Property?$count=true&$filter=PropertyType eq 'Residential' and (StandardStatus eq 'Active' or StandardStatus eq 'Incomplete')&$top=1&$select=ListingId,StandardStatus

"@odata.count": 574,
Joe_Brueske's avatar Joe_Brueske (2023-04-20 08:26:40 -0500) edit
add a comment see more comments

1 Answer

0

Hi Andy,

There was a mapping error. Provisional is not an approved Data Dictionary value for the StandardStatus Lookup. Please repull from the /Lookup resource and use the approved Incomplete status.

Joe_Brueske's avatar
Joe_Brueske
answered 2023-04-19 14:22:24 -0500
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments

Your Answer

Login/Signup to Answer