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 中傳入主要類別,並在 additionalCategoryIds 中傳入最多 9 個補充類別的 id。若要瞭解這些欄位的使用方式,請參閱建立地點和更新地點。

回應為單一未分頁的陣列。此呼叫與其他呼叫一樣,會計入您帳戶的速率限制,因此請將其快取,而非針對每個地點重新擷取;429 回應會包含 Retry-After 標頭。

Request
curl -X GET 'https://listingsapi.com/api/v4/sub-categories' \  -H "Authorization: API $LISTINGSAPI_KEY"