Стани доброволец-програмист в
„Под ОКО“
Помогни ни да автоматизираме събирането на данни за общинските съвети чрез код и API.
Проектът „Под ОКО“ е напълно отворен и безплатен. Всички данни се поддържат от доброволци – граждани, журналисти и програмисти.
Ако си разработчик (независимо от езика – PHP, Python, JavaScript, Go и др.), можеш да помогнеш значително, като напишеш скрипт, който автоматично:
- Извлича информация за предстоящи или минали заседания от сайта на твоята община
- Качва ги в нашата платформа чрез публичното API
Така ще спестиш часове ръчна работа и ще направим данните по-пълни и актуални.
Как да започнеш
-
1
Свържи се с нас Пиши ни във Facebook: facebook.com/podoko.site
Кажи коя община искаш да поемеш – ще ти създадем акаунт с роля „contributor“ и достъп само до нея. -
2
Вземи API токен Изпълни тази заявка (с твоите данни):
← scroll →curl -X POST https://pod-oko.site/api/login \ -H "Content-Type: application/json" \ -d '{ "email": "твоят@email.bg", "password": "твоята_парола" }'Отговорът ще съдържа твоя токен (валиден завинаги).
-
3
Качване на заседание Пример (замени municipality_id и токена):
← scroll →curl -X POST https://pod-oko.site/api/council-sessions \ -H "Authorization: Bearer ТВОЯ_ТОКЕН" \ -H "Content-Type: application/json" \ -d '{ "municipality_id": 5, "date": "2025-12-20", "topic": "Редовно заседание на общинския съвет", "time": "10:00", "description": "Обсъждане на бюджета за 2026 г.", "result": "Приети 15 решения", "link": "https://www.youtube.com/watch?v=abc123", "source_url": "https://obshtina.bg/zasedaniq/2025-12-20" }'
Примери на различни езици
Python (requests)
import requests
# Вход
login = requests.post("https://pod-oko.site/api/login", json={
"email": "твоят@email.bg",
"password": "твоята_парола"
})
token = login.json()["token"]
# Качване на заседание
headers = {"Authorization": f"Bearer {token}"}
data = {
"municipality_id": 5,
"date": "2025-12-20",
"topic": "Заседание от Python скрипт",
"time": "14:00",
"description": "Автоматично качено"
}
response = requests.post("https://pod-oko.site/api/council-sessions", json=data, headers=headers)
print(response.json())
← scroll →
JavaScript / Node.js (axios)
const axios = require('axios');
async function uploadSession() {
const login = await axios.post('https://pod-oko.site/api/login', {
email: 'твоят@email.bg',
password: 'твоята_парола'
});
const token = login.data.token;
await axios.post('https://pod-oko.site/api/council-sessions', {
municipality_id: 5,
date: '2025-12-20',
topic: 'Заседание от Node.js',
time: '15:00'
}, {
headers: { Authorization: `Bearer ${token}` }
});
}
uploadSession();
← scroll →
Очакваме те!
Свържи се с нас и заедно ще направим данните за всички 265 общини пълни и актуални.
Пиши ни във Facebook