Tray Platform / Connectivity APIs / Dynamic outputs
Dynamic outputs
On this page
One of the properties included with each operation is the boolean hasDynamicOutput.
A true value indicates that the output schema can change depending on the input to the Call Connector operation.
In this case a call can be made to the call connector endpoint described above, you just need to set the "returnOutputSchema" to true to get the output schema for that particular request:
{"operation": "get_location","authId": "3a56fxx-xxx-xxx-xxx76fda19","input": {"location_id": "61098065993"},"returnOutputSchema":true}
The following example is from the Get Location operation within the Shopify connector:
When the above payload is used in a call connector request to the following endpoint https://api.tray.io/v1/public-connectors/shopify/versions/4.0/call then the output schema is returned and can be used accordingly:
{"outcome": "success","output": {"output_schema": {"$schema": "http://json-schema.org/draft-04/schema#","type": "object","properties": {"location": {"type": "object","properties": {"id": {"type": "number"},"name": {"type": "string"},"address1": {"type": "string"},"address2": {"type": "string"},"city": {"type": "string"},"zip": {"type": "string"},"province": {"type": "string"},"country": {"type": "string"},"phone": {"type": "string"},"created_at": {"type": "string"},"updated_at": {"type": "string"},"country_code": {"type": "string"},"country_name": {"type": "string"},"province_code": {"type": "string"},"legacy": {"type": "boolean"},"active": {"type": "boolean"},"admin_graphql_api_id": {"type": "string"}}}}}}}
If the property is set to false or not included at all then the call to this endpoint will return the response from the call itself:
{"outcome": "success","output": {"location": {"id": 61098065993,"name": "Test location","address1": "Lynchgate Road","address2": "22 Cannon Park Centre","city": "Coventry","zip": "CV4 7EH","province": "England","country": "GB","phone": "+4412345123456","created_at": "2021-12-03T18:52:24+00:00","updated_at": "2021-12-03T18:52:25+00:00","country_code": "GB","country_name": "United Kingdom","province_code": "ENG","legacy": false,"active": true,"admin_graphql_api_id": "gid://shopify/Location/61098065993"}}}