Documentație API peșteri (GraphQL)
Speologie.org oferă un API GraphQL pentru interogarea peșterilor publicate din catalog. Accesul se face cu o API key personală.
1. Endpoint
Trimite cereri POST la:
https://speologie.org/api/graphqlUn GET pe același URL returnează un scurt rezumat de utilizare.
2. Autentificare (API key)
- Autentifică-te pe dashboard.
- Deschide Editează profilul — cheia apare sub câmpul de email (doar citire).
- Poți copia cheia sau o reînnoi dacă ai deja una setată. Dacă nu ai cheie, contactează un administrator.
Include cheia în fiecare cerere, într-unul din headere:
X-API-Key: sk_cheia_ta
# sau
Authorization: Bearer sk_cheia_ta3. Exemple curl
Lista — 5 peșteri
curl -X POST https://speologie.org/api/graphql \
-H 'Content-Type: application/json' \
-H 'X-API-Key: CHEIA_TA' \
-d '{"query":"{ pesteri(limit: 5) { id title slug judet lungime } }"}'O peșteră după slug
curl -X POST https://speologie.org/api/graphql \
-H 'Content-Type: application/json' \
-H 'X-API-Key: CHEIA_TA' \
-d '{"query":"{ pestera(slug: \"pestera-ursilor\") { id title slug descriere localitate munte } }"}'O peșteră după id (cu variabile)
curl -X POST https://speologie.org/api/graphql \
-H 'Content-Type: application/json' \
-H 'X-API-Key: CHEIA_TA' \
-d '{
"query": "query ($id: Int!) { pestera(id: $id) { id title slug } }",
"variables": { "id": 123 }
}'4. Query-uri GraphQL
Căutare / filtru
{
pesteri(q: "ursilor", judet: "Bihor", limit: 20, offset: 0) {
id
title
slug
lungime
denivelare
}
}O peșteră
Folosește exact unul dintre argumente: id sau slug.
{ pestera(id: 123) { id title slug } }
# sau
{ pestera(slug: "pestera-ursilor") { id title slug } }5. Câmpuri pe tipul Pestera
- id
- title
- slug
- descriere
- judet
- localitate
- munte
- lungime
- denivelare
- denNegativa
- altitudine
- nrHidro
- bazinHidroId
- roca
- scufundabila
- clasificare
- stiinta
- disparuta
- codAp
6. Limitări
- Doar peșteri publicate (
status = 1). - Argumentul
limitare maxim 100. - Te rugăm să nu abuzezi de API (fără scraping agresiv sau volume inutile de cereri).
Ai nevoie de altceva?
Dacă cauți câmpuri, filtre sau relații care încă nu apar în schemă, scrie-ne la contact@speologie.org — putem extinde API-ul.
