@foyer-inc/api-sdk
v1.6.0
Published
TypeScript SDK for interacting with Foyer API services.
Downloads
12
Keywords
Readme
Foyer API
Additional documentation at Docs
Additional details on filter structure available at Sequelize
Listed below is example usage of the Foyer api-sdk
import { OpenAPI, PropertyService } from '@foyer-inc/api-sdk';
//usually will not need to change this but it is available for redirecting requests away from the main production api
OpenAPI.BASE = 'remote api endpoint';
//use auth token from Okta or from UserService.login
//needed to access protected endpoints
//set statically and globally
OpenAPI.TOKEN = 'token';
//use await/async or Promise callback
const properties = await PropertyService.getProperties();
PropertyService.getProperties().then((value) => console.log(value));
//Typically used with a filter to specify which Properties to return
//The filter is also used to indicate which related models should also be returned
const filter = {
// For more granularity, all fields on Property are able to be included as search criteria.
where: {
BedroomsTotal: 2
BathroomsTotalInteger: {
gt: 2
}
},
//an array of column names to return. helpful to limit returning unnecessary information
attributes: ["ListingKey", "StreetNumber"],
//an array of associated models to return,
//elements in this array can also be narrowed by including a similarly structured filter
include: [
{ association: "Media" }
],
// an integer for how many entries to return
limit: 10,
// an integer for how many entries to skip, useful for pagination
offset: 10,
};
const properties = await PropertyService.getProperties(JSON.stringify(filter));
//example usage with verbosity param instead of filter object
PropertyService.getProperties(undefined, 'card').then((value) =>
console.log(value)
);
RESO Available Foyer models comply with RESO Spec
See RESO Data Dictionary for a comprehensive look at RESO
See Reference Worksheet for Standard Relationships