diff --git a/data_providers/rsa.js b/data_providers/rsa.js new file mode 100644 index 0000000..7447f5b --- /dev/null +++ b/data_providers/rsa.js @@ -0,0 +1,25 @@ +const fetch = require('node-fetch'); + +class RsaProvider { + static async checkOsago(number, vin, timestamp, token) { + let date = new Date(timestamp*1000); + let dateStr = `${date.getDate()}.${date.getMonth() + 1}.${date.getFullYear()}`; + + let url = 'https://dkbm-web.autoins.ru/dkbm-web-1.0/policyInfo.htm'; + let result = await fetch(url, { + method: 'POST', + body: new URLSearchParams({ + requestDate: dateStr, + licensePlate: number, + vin: vin, + isBsoRequest: false, + captcha: token + }) + }); + + let json = await result.json(); + console.log(json); + } +} + +module.exports = RsaProvider; \ No newline at end of file diff --git a/routes/vehicles.js b/routes/vehicles.js index 052979c..4f78b3d 100644 --- a/routes/vehicles.js +++ b/routes/vehicles.js @@ -5,6 +5,7 @@ const cors = require('cors'); const AvtocodProvider = require('../data_providers/avtocod'); const Vin01Provider = require('../data_providers/vin01'); const { regions } = require('../data_providers/constants'); +const RsaProvider = require('../data_providers/rsa'); const Utils = require('../utils'); const makeError = error => ({ success: false, error }); @@ -157,4 +158,15 @@ router.get('/shared_report', cors({ origin: 'https://auto.aliencat.pro' }), asyn } }); +router.post('/checkOsago', async (req, res) => { + try { + const { number, vin, date, token } = req.body; + console.log('Body: ', req.body); + let result = await RsaProvider.checkOsago(number, vin, date, token); + } catch(ex) { + res.send(makeError(ex.message)); + console.error(ex); + } +}); + module.exports = router;