/api/v4/sub-categoriesLister les sous-catégories
Renvoie le catalogue complet des sous-catégories utilisées pour classer les établissements lors de leur création ou de leur mise à jour.
Paramètres
Cet endpoint ne prend aucun paramètre.
Réponses
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.
Renvoie le catalogue complet des sous-catégories qui classent les établissements selon leur secteur d’activité. Ce compte renvoie environ 6 000 entrées : traitez donc ce catalogue comme un référentiel volumineux et essentiellement statique, récupérez-le une seule fois, mettez-le en cache et actualisez-le périodiquement plutôt que de l’appeler directement à chaque création ou mise à jour.
Chaque élément contient :
databaseId: l’entier à transmettre danssubCategoryIdlors de la création ou de la mise à jour d’un établissement, et à inclure dans le tableauadditionalCategoryIdspour les catégories supplémentaires.id: l’identifiant Relay encodé en Base64 pour le même enregistrement.key: un slug du nom de la catégorie adapté aux URL.name: le libellé lisible par un humain.primary: indique si la catégorie peut être utilisée comme sous-catégorie principale d’un établissement.
Résoudre une catégorie avant de créer un établissement
Lors de l’intégration d’un établissement, vous connaissez généralement le type d’activité sous forme de texte libre (« service d’impression 3D »), mais createLocation attend un subCategoryId numérique. La procédure consiste à récupérer cette liste une seule fois, à construire une table de correspondance name → databaseId dans votre propre code, puis à rechercher l’identifiant au moment de la création.
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'); // 4589Pour attribuer plusieurs catégories à un établissement, transmettez la catégorie principale dans subCategoryId et jusqu’à 9 identifiants supplémentaires dans additionalCategoryIds. Consultez Créer un établissement et Mettre à jour un établissement pour savoir comment ces champs sont utilisés.
La réponse est un tableau unique non paginé. Cet appel est pris en compte dans la limite de débit de votre compte comme tout autre appel ; mettez donc la réponse en cache plutôt que de la récupérer à nouveau pour chaque établissement ; une réponse 429 inclut un en-tête Retry-After.
curl -X GET 'https://listingsapi.com/api/v4/sub-categories' \ -H "Authorization: API $LISTINGSAPI_KEY"