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 中傳入主要類別,並在 additionalCategoryIds 中傳入最多 9 個補充類別的 id。若要瞭解這些欄位的使用方式,請參閱建立地點和更新地點。
回應為單一未分頁的陣列。此呼叫與其他呼叫一樣,會計入您帳戶的速率限制,因此請將其快取,而非針對每個地點重新擷取;429 回應會包含 Retry-After 標頭。
Request
curl -X GET 'https://listingsapi.com/api/v4/sub-categories' \ -H "Authorization: API $LISTINGSAPI_KEY"