keywords
title: Icon keywords
Icon keywords
API query [url]/keywords is intended to be used for suggesting search queries.
Query
API query is [url]/keywords.
There are two variations of this query, depending on passed parameters.
You must set one of the following parameters:
[prop]prefix,[type]string. Keyword prefix. API returns all keywords that start with requested keyword.[prop]keyword,[type]keyword. Partial keyword. API returns all keywords that start or end with requested keyword.
If you set both [prop]prefix and [prop]keyword parameters, [prop]keyword parameter will be ignored.
Keyword
This is a very basic function. It can handle only one keyword, not multiple keywords.
Keyword requirements:
- Can contain only letters
[str]a-[str]z, numbers and[str]-. - If it contains
[str]-, only last part after[str]-is checked, the rest is ignored. - Must be at least 2 characters long.
Response
Response is an object, which contains all properties passed in query and the following properties:
[prop]invalid,[type]boolean. Set to[bool]trueif keyword is invalid.[prop]exists,[type]boolean. Set to[bool]trueif keyword exists as full keyword (with nothing or[str]-before and after it in icon name).[prop]matches, [type]string[]`. List of matches.
Examples
hint: /keywords?prefix=hom&pretty=1
src: api/keywords-hom.json
hint: /keywords?keyword=home&pretty=1
src: api/keywords-home.json
Error response
If no matches found or keyword is too short, correct response is returns with [prop]matches object being empty:
{
"keyword": "qwerty",
"exists": false,
"matches": []
}
If keyword is invalid, response includes [prop]invalid property set to [bool]true:
{
"keyword": "_",
"invalid": true,
"exists": false,
"matches": []
}
If search engine is disabled, [url]/keywords route is not handled, server returns [num]404 HTTP error.
Type
Type for API response:
/**
* Parameters for `/keywords` query
*
* One of `prefix` or `keyword` parameters must be set
*/
export interface APIv3KeywordsPrefixQuery {
// Prefix to test: matches for 'foo' include 'foobar', but not 'barfoo'
prefix: string;
}
export interface APIv3KeywordsFullQuery {
// Keyword to test: matches for 'foo' include 'foobar' and 'barfoo'
keyword: string;
}
export type APIv3KeywordsQuery =
| APIv3KeywordsPrefixQuery
| APIv3KeywordsFullQuery;
/**
* Response for /keywords query
*
* Includes request + response
*/
export type APIv3KeywordsResponse = APIv3KeywordsQuery & {
// Set to true if keyword is invalid
invalid?: true;
// True if partial keyword exists as is
exists: boolean;
// Keywords that contain partial keyword
matches: string[];
};
谢谢你的反馈!