External API Calls
To call any API endpoint you can use methods get, put, post or delete of object api, e.g.
api.get<DynamicMutableList>(api.target("https://server.com/path/to/someObjects"))
api.post<Order>(api.target("https://server.com/orders"), order,
/* optional headers */
mapOf(
"x-header1" to "value1",
"x-header2" to "value2"
)
)
where ResponseType is any data class or Dynamic or supported TypeMutableList (see https://promethist.ai/apidoc/core-api/com.promethist.core.type/index.html)
api.get<StringMutableList>(api.target("https://repository.promethist.ai/data/animals.json"))
DialogueScript has several 3rd party API integration preconfigured so you don’t need to specify URLs, headers (e.g. API keys):
to get list of words use method
api.words(word, type)
to get all results for word (or response of dynamic structure)
api.words<ResponseType>(word, type = "")
where
- word is input word
Examples
Getting list of antonyms
api.words("good", "antonyms")
Processing all available results
api.words<Dynamic>("hatchback")<List<PropertyMap>>("results") {
value.forEach {
println("partOfSpeech = " + it["partOfSpeech"])
if (it.containsKey("synonyms")) {
println("synonyms:")
(it["synonyms"] as List<String>).forEach {
println("- $it")
}
}
}
}
Response caching can be implemented in the future to prevent repeated API requests using the same input data.
Last modified 1yr ago