2 Minute Read
| Read API
A GET API that provides the capability to read haystack entities created in the 75F system.
The read op reads a set of entity records either by their unique identifier or by using a filter. The user can query based on a particular id or can make group queries based on tags within the system.
| Format
https://api.75f.io/ph/read?filter=Tag1<AND / OR> {Tag2 .. <AND / OR> Tag3......}
| Request (by filter)
A grid with a single row and the following columns:
- filter: required Str encoding of filter
- limit: optional Number that specifies the maximum number of entities to return in response
Request (by id): a grid of one or more rows and one column:
- id: a Ref identifier
Response: It's a grid with a row for each entity read. If the request uses a filter and found no match, it returns an empty grid with no rows, and if a read by id, then each row corresponds to the request grid and its respective row ordering. If no id found, the request returns a row of all null cells.
Example of filter read request:
filter, limit
"point and siteRef==@siteA",1000
Example of reading by id with three identifiers:
id
@vav101.zoneTemp
@vav102.zoneTemp
@vav103.zoneTemp
Example of a read response where no id found:
id,dis,curVal
@vav101.zoneTemp, "VAV-101 ZoneTemp",74.2°F
N,N,N
@vav103.zoneTemp, "VAV-103 ZoneTemp",73.8°F
| Procedure to Execute a Read API request
Note: Only as a Secondary Manager of a site, one can sample points data or write to points data of the sites.
From the Developer portal home page
- Click the Profile option.
The user profile screen displays the user and subscription details.
locate the subscription key for the relevant product.
For this example, we use the product QA-Readonly.
- Click the option shown to view the subscription keys or simply copy the subscription key to be used to generate the Bearer token.
- Click the API's option on the top.
The API's screen displays the list of authorized API's.
For this demo, we use the Haystack (QA) API.
- Click the API Haystack (QA).
The Haystack (QA) API screen displays the API details.
Note: To start sampling data using this Haystack (QA) API, the user needs to generate a bearer token using the API 75Auth(QA) as shown above using the information shown in Oauth API
- Click Try it to access the API.
The Try it window to try the API displays.
- Select the Primary: QA-Readonly under the subscription key field.
- Access the site explorer.
From the site explorer in Facilisight:
- Try out a filter option as below, so that you can query the same using the API and confirm
- Scroll further to locate the Header section.
The header section should have the following headers.
- Enter the read query required for this API in the format specified in the body section, "siteRef==@70e78150-5699-4598-90a0-de86ec649457 and vav and zone and current and temp"
- Paste the subscription key copied from the profile screen into the header option Ocp-Apim-Subscription-Key.
- Paste the bearer token generated into the header option Authorization, with a"Bearer"and followed by the token generated.
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyRGF0YSI6eyJ1c2VySWQiOiI5YzAxMjdlNC0zZGZiLTQyMzAtYjEzOC03ZjY2N2ZlMTVkOWEiLCJlbWFpbElkIjoibWNoYW5kcmFzZWthckA3NWYuaW8iLCJzdHJhdGVneSI6InBhc3MiLCJpc1N1cHBvcnQiOjF9LCJhY2Nlc3NBbGxvd2VkIjp0cnVlLCJyb2xlIjoiYXBwIiwiZ2xvYmFsU2Vzc2lvbklEIjoiOTlReXdCNHE4dmNkNVVfZ3RtN0tHY20yMnFoOVh1MUsiLCJhcHBOYW1lIjoiZ2F0ZWtlZXBlcjc1ZiIsImVudiI6InFhIiwiaWF0IjoxNjUxNzQwMjU4LCJleHAiOjE2NTE4MjY2NTgsImlzcyI6Ijc1ZiJ9.KRvpKnyjQNXG8JAnvCVRmn1Kzd2mLR2EKpSYfYogDj-9_JHpD24TyhKcCBEDQiorRqOueaokhKR1nLGM50UeLg4LFr2KWACTlFv6iyT85VclYisVRBnrACIJVvFmNCGdIdt4F5UTLyTNKz03-FAUfBL8JC6z3k_YrzFDhupbISHJCQ5TpaHlAt7j8mx7rcI-m3tmAxnL1vNI4Gz2MzW_oSZ0pRsrFBZhdk2lC63Lnsm9kAlrsxKeuKyDDct-8mBbX-kLLGFwBfoSbgAAgDVDP8_ys-0JZadyX8rFzrm-UGIyIrV7G5DCTQXYsaauICw0hvCiyhpAetaAogssgjXemw"
With the below request format:
- Click Send to sample data.
This generates a response as follows.
| HTTP Response
HTTP/1.1 200 OK
content-encoding: gzip
content-type: application/json
date: Thu, 05 May 2022 08:55:03 GMT
transfer-encoding: chunked
vary: origin,access-control-request-method,access-control-request-headers,accept-encoding
{
"metadata": {
"ver": "3.0"
},
"cols": [{
"name": "id"
}, {
"name": "air"
}, {
"name": "cur"
}, {
"name": "curVal"
}, {
"name": "current"
}, {
"name": "dis"
}, {
"name": "equipRef"
}, {
"name": "floorRef"
}, {
"name": "group"
}, {
"name": "his"
}, {
"name": "hisInterpolate"
}, {
"name": "kind"
}, {
"name": "logical"
}, {
"name": "parallel"
}, {
"name": "point"
}, {
"name": "roomRef"
}, {
"name": "sensor"
}, {
"name": "series"
}, {
"name": "siteRef"
}, {
"name": "temp"
}, {
"name": "tz"
}, {
"name": "unit"
}, {
"name": "vav"
}, {
"name": "zone"
}],
"rows": [{
"id": "r:2c460ffa-4a43-4972-97db-22a2177e3885",
"air": "m:",
"cur": "m:",
"curVal": "n:72 °F",
"current": "m:",
"dis": "ValidationOfSchedules-VAV-1700-currentTemp",
"equipRef": "r:2379d7a7-0281-45fe-88cd-66a01f2aab95",
"floorRef": "r:6e68a6e4-b5f3-4d2c-9011-4849de96cd2c",
"group": "1700",
"his": "m:",
"hisInterpolate": "cov",
"kind": "Number",
"logical": "m:",
"point": "m:",
"roomRef": "r:ac01293a-df4f-4c36-87b1-5946809f95a3",
"sensor": "m:",
"siteRef": "r:70e78150-5699-4598-90a0-de86ec649457",
"temp": "m:",
"tz": "Kolkata",
"unit": "°F",
"vav": "m:",
"zone": "m:"
}, {
"id": "r:48f19926-0b70-412a-b559-5f67cbaf13a4",
"air": "m:",
"cur": "m:",
"curVal": "n:72 °F",
"current": "m:",
"dis": "ValidationOfSchedules-VAV-1701-currentTemp",
"equipRef": "r:381880fe-45c4-41a0-a00a-e99c5a574dd2",
"floorRef": "r:6e68a6e4-b5f3-4d2c-9011-4849de96cd2c",
"group": "1701",
"his": "m:",
"hisInterpolate": "cov",
"kind": "Number",
"logical": "m:",
"parallel": "m:",
"point": "m:",
"roomRef": "r:6037667a-bdbe-4ec9-bfea-b01e1b406b95",
"sensor": "m:",
"siteRef": "r:70e78150-5699-4598-90a0-de86ec649457",
"temp": "m:",
"tz": "Kolkata",
"unit": "°F",
"vav": "m:",
"zone": "m:"
}, {
"id": "r:2caac7a8-69e6-455b-9bb0-555fdfc67662",
"air": "m:",
"cur": "m:",
"curVal": "n:72 °F",
"current": "m:",
"dis": "ValidationOfSchedules-VAV-1702-currentTemp",
"equipRef": "r:6fd5d1f3-91a6-481f-a8a0-bc8df0f59cd4",
"floorRef": "r:6e68a6e4-b5f3-4d2c-9011-4849de96cd2c",
"group": "1702",
"his": "m:",
"hisInterpolate": "cov",
"kind": "Number",
"logical": "m:",
"point": "m:",
"roomRef": "r:a5576bff-34f1-4902-a8c4-11770f9f8bec",
"sensor": "m:",
"series": "m:",
"siteRef": "r:70e78150-5699-4598-90a0-de86ec649457",
"temp": "m:",
"tz": "Kolkata",
"unit": "°F",
"vav": "m:",
"zone": "m:"
}, {
"id": "r:64ef7fb6-02b7-40a7-95dc-69ac5f309399",
"air": "m:",
"cur": "m:",
"curVal": "n:72 °F",
"current": "m:",
"dis": "ValidationOfSchedules-VAV-1709-currentTemp",
"equipRef": "r:7f63f974-5735-4db5-acb9-1054c7de70c2",
"floorRef": "r:f738acf1-7af0-4cdd-9b9d-b2ac10495174",
"group": "1709",
"his": "m:",
"hisInterpolate": "cov",
"kind": "Number",
"logical": "m:",
"point": "m:",
"roomRef": "r:beda2643-39fd-407e-8b11-0edde45ebc9c",
"sensor": "m:",
"series": "m:",
"siteRef": "r:70e78150-5699-4598-90a0-de86ec649457",
"temp": "m:",
"tz": "Kolkata",
"unit": "°F",
"vav": "m:",
"zone": "m:"
}]
}An application can be connected to start reading the data using the bearer token generated, and point IDs or filters from the sites assigned to the user.
Comments
0 comments
Please sign in to leave a comment.