GET
/api/v4/sub-categories列出子类别
返回创建或更新地点时用于给地点分类的完整子类别目录。
参数
此端点不接受任何参数。
响应
200The full list of subcategory objects.
{ "data": { "subcategories": [ { "databaseId": 639, "id": "U3ViQ2F0ZWdvcnk6NjM5", "key": "3d-printing", "name": "3D Printing", "primary": true }, { "databaseId": 4589, "id": "U3ViQ2F0ZWdvcnk6NDU4OQ==", "key": "3d-printing-service", "name": "3D printing service", "primary": true }, { "databaseId": 3268, "id": "U3ViQ2F0ZWdvcnk6MzI2OA==", "key": "aadhaar-center", "name": "Aadhaar center", "primary": true } ] }}401Unauthenticated, missing or invalid API key.
429Rate limit exceeded. Retry after the `Retry-After` header value.
返回用于划分地点业务类型的完整子类别目录。此账户返回约 6,000 条记录,因此请将其视为规模较大且基本不变的查询表,获取一次后缓存,并定期刷新,而不是在每次创建或更新时都即时调用。
每项包含:
databaseId:创建或更新地点时作为subCategoryId传入的整数,也可包含在additionalCategoryIds数组中,用于指定补充类别。id:同一记录的 Base64 编码 Relay 标识符。key:类别名称的 URL 友好型 slug。name:便于阅读的标签。primary:该类别是否可用作地点的主要子类别。
创建地点前确定类别
添加地点时,您通常已知以自由文本表示的业务类型(“3D 打印服务”),但 createLocation 要求提供数值形式的 subCategoryId。具体做法是:获取此列表一次,在您自己的代码中构建 name → databaseId 映射,然后在创建时查找 id。
const res = await fetch('https://listingsapi.com/api/v4/sub-categories', { headers: { Authorization: 'API ' + process.env.LISTINGSAPI_KEY },});const { data } = await res.json();const byName = new Map(data.subcategories.map((s) => [s.name.toLowerCase(), s.databaseId])); const subCategoryId = byName.get('3d printing service'); // 4589要为地点标记多个类别,请在 subCategoryId 中传入主要类别的 id,并在 additionalCategoryIds 中传入最多 9 个补充类别的 id。有关这些字段的使用方式,请参阅 创建地点 和 更新地点。
响应是一个不分页的数组。与其他调用一样,此调用也计入您账户的速率限制,因此请缓存响应,而不是为每个地点重新获取;429 响应包含 Retry-After 响应头。
Request
curl -X GET 'https://listingsapi.com/api/v4/sub-categories' \ -H "Authorization: API $LISTINGSAPI_KEY"