GET/api/v4/sub-categories

列出子类别

返回创建或更新地点时用于给地点分类的完整子类别目录。

需要 API 密钥。请求头格式和密钥轮换请参阅身份验证。

参数

此端点不接受任何参数。

响应

200The full list of subcategory objects.
Response
{  "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。

JavaScript
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"