Nahrát soubory do „/“
This commit is contained in:
57
README.md
Normal file
57
README.md
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# ICO Lookup API (Node.js)
|
||||||
|
|
||||||
|
This is a minimal Node.js + Express server that acts as an API wrapper around Finančná správa SR's open data interface.
|
||||||
|
It allows you to look up Slovak companies by their IČO number (company identifier).
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Accepts GET requests with an IČO as query parameter
|
||||||
|
- Returns company information in JSON format
|
||||||
|
- Built with Express and Axios
|
||||||
|
- Hardcoded API key for simplicity
|
||||||
|
|
||||||
|
## Setup Instructions
|
||||||
|
|
||||||
|
1. Download and extract the project
|
||||||
|
2. Open `server.js` and replace:
|
||||||
|
|
||||||
|
```
|
||||||
|
const API_KEY = "your_api_key_here";
|
||||||
|
```
|
||||||
|
|
||||||
|
with your actual API key from [https://iz.opendata.financnasprava.sk](https://iz.opendata.financnasprava.sk)
|
||||||
|
|
||||||
|
3. In the project directory, run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install express axios
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Start the server:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
node server.js
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Use the API:
|
||||||
|
|
||||||
|
Open your browser or use curl/Postman:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://localhost:3000/api/lookup?ico=36215589
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example response
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"meta": {...},
|
||||||
|
"data": [...]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Node.js 14 or newer
|
||||||
|
- Internet connection
|
||||||
|
- Valid API key from Finančná správa SR
|
||||||
45
server.js
Normal file
45
server.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
// Simple Node.js + Express API server to look up Slovak companies by IČO
|
||||||
|
// using the Finančná správa SR open data API
|
||||||
|
|
||||||
|
const express = require("express");
|
||||||
|
const axios = require("axios");
|
||||||
|
|
||||||
|
const app = express();
|
||||||
|
const PORT = 3000;
|
||||||
|
|
||||||
|
// Insert your API key from Finančná správa SR below
|
||||||
|
const API_KEY = "2t5lK487ces7Rc4oEHrIwCjB5DpoZUBChQxCLBiSrwGNdEubKpraAtQLEiJmPXkdjNw5FssYpuO0LXSZpk3U6oqePyFaIGHokg4WNPEM0302X2BK4iXpkFv9Qg7jyeUXh50bWVExVrVSBuOnOQpBzzdJ1k1D54b115MD3y5ticWxvGDLUaqLQgA6nzFgbYOx6dR0ToJUxU714TetLBZCBy0xKSnBaOrxYv10I1gZ1q4rQx4Q8k7BTR6MaP";
|
||||||
|
|
||||||
|
// Endpoint: GET /api/lookup?ico=XXXXXXXX
|
||||||
|
// Example: http://localhost:3000/api/lookup?ico=36215589
|
||||||
|
app.get("/api/lookup", async (req, res) => {
|
||||||
|
const ico = req.query.ico;
|
||||||
|
|
||||||
|
// Validate ICO presence
|
||||||
|
if (!ico) {
|
||||||
|
return res.status(400).json({ error: "Missing ICO parameter" });
|
||||||
|
}
|
||||||
|
|
||||||
|
const url = `https://iz.opendata.financnasprava.sk/api/data/ds_dsrdp/search?page=1&column=ico&search=${ico}`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Make a request to Finančná správa API
|
||||||
|
const response = await axios.get(url, {
|
||||||
|
headers: {
|
||||||
|
accept: "application/json",
|
||||||
|
key: API_KEY
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Return the fetched JSON data
|
||||||
|
res.json(response.data);
|
||||||
|
} catch (error) {
|
||||||
|
// Handle errors (e.g. invalid API key, server down)
|
||||||
|
res.status(500).json({ error: error.message });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Start the server
|
||||||
|
app.listen(PORT, () => {
|
||||||
|
console.log(`API server is running at http://localhost:${PORT}`);
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user