API ម៉ាស៊ីនគិតលេខឥតគិតថ្លៃ
ម៉ាស៊ីនគិតលេខទាំងអស់នៅលើតំបន់បណ្ដាញនេះគឺផងដែរជា API JSON ដោយឥតគិតថ្លៃ. គ្មានការចុះឈ្មោះ, គ្មានគ្រាប់ចុច API, CORS-បានអនុញ្ញាត - ហៅវាពីម៉ាស៊ីនបម្រើរបស់អ្នកឬដោយផ្ទាល់ពីកម្មវិធីរុករក.
ទិដ្ឋភាពទូទៅ
API ដំណើរការគណិតវិទ្យាដូចគ្នាដែលគេហទំព័រប្រើ។ ផ្ញើតម្លៃវាលរបស់ម៉ាស៊ីនគិតលេខជាប៉ារ៉ាម៉ែត្រសំណួរឬ JSON ហើយទទួលបានលទ្ធផលគណនាត្រឡប់មកវិញជា JSON - រួមទាំងកាលវិភាគឬទិន្នន័យតារាងនៃការដកប្រាក់ណាមួយដែលម៉ាស៊ីនគិតលេខផលិត។
- 198+ ម៉ាស៊ីនគិតលេខ មួយៗមានចំណុចបញ្ចប់របស់វា
- គ្មានកូនសោ API — ការចូលដំណើរការអនាមិក កំណត់អត្រាដោយ IP
- CORS —
Access-Control-Allow-Origin: *(ប្រើបាននៅផ្នែកម៉ាស៊ីនភ្ញៀវ) - ដែនកំណត់អត្រា: 60 សំណើ/ម៉ោងក្នុងមួយ IP (HTTP 429 នៅពេលលើសពី)
- កំហុសគឺឥតគិតថ្លៃ — គ្រាន់តែជាជោគជ័យ (2xx) ឆ្លើយតបប្រើការហៅមួយពីកូតាប្រចាំខែរបស់អ្នក. រាល់ 400, 401, 404, 429 និង 500 ចំណាយអ្នកគ្មានអ្វីទាំងអស់.
URL មូលដ្ឋាន
https://calculator.free/api/v1/
លិបិក្រម — រាយម៉ាស៊ីនគិតលេខទាំងអស់
GET https://calculator.free/api/v1/
ត្រឡប់បញ្ជីដែលអាចអានដោយម៉ាស៊ីននៃម៉ាស៊ីនគិតលេខទាំងអស់ជាមួយវាលរបស់វានីមួយៗ (គ្រាប់ចុច ស្លាក ប្រភេទ លំនាំដើម ឯកតា) និងគ្រាប់ចុចលទ្ធផល - គ្រប់គ្រាន់ដើម្បីបង្កើតម៉ាស៊ីនភ្ញៀវដោយថាមវន្ត & # 160; ។ វាលនីមួយៗក៏មានទង់ដែលទាមទារដែរ - ពិតសម្រាប់វាលតិចតួចដែលគ្មានលំនាំដើម (កាលបរិច្ឆេទ, ជាច្រើន) ។ ផ្ញើពួកគេ & # 160; ៖ ម៉ាស៊ីនគិតលេខពីរនាក់អាចសន្និដ្ឋានមួយ ចម្លើយដែលនៅសល់ ៤០០ ដោយគ្មានវា & # 160; ។
គណនា — រត់ម៉ាស៊ីនគិតលេខមួយ
GET https://calculator.free/api/v1/<slug>/?field=value&field=value
POST https://calculator.free/api/v1/<slug>/ (JSON or form body)
រាងការឆ្លើយតប & # 160; ៖
{
"ok": true,
"slug": "mortgage",
"country": "us",
"inputs": { ... the values actually computed with ... },
"results": { ... computed result keys ... },
"schedule": { "columns": [...], "rows": [...] } | null,
"chart": { "type": "pie", "slices": [...] } | null,
"defaults_applied": ["tax", "insurance"]
}
គណនាដែលដឹងអំពីប្រទេស (អចលនទ្រព្យ, ប្រាក់កម្ចី, ពន្ធលើប្រាក់ចំណូល, ពន្ធលើការលក់...) ទទួលយក ?country=us|uk|ca|au|in|ie|nz|za. មិនស្គាល់ slug ត្រឡប់ 404 ប្រទេសដែលមិនគាំទ្រ ឬបញ្ចូលមិនល្អ ត្រឡប់ 400 ជាមួយសារដែលមានប្រយោជន៍ និងការបញ្ជាក់វាល & # 160; ។
ប៉ារ៉ាម៉ែត្រ លំនាំដើម និងកំហុស
ផ្ញើតែវាលដែលអ្នកយកចិត្តទុកដាក់ប៉ុណ្ណោះ & # 160; ។ អ្វីដែលអ្នកទុកចេញគឺត្រូវបានបំពេញដោយលំនាំដើមដែលបានបោះពុម្ពផ្សាយរបស់វាលនោះ - តម្លៃដូចគ្នាដែលទំព័រម៉ាស៊ីនគិតលេខបំពេញមុន ដូច្នេះ API និងគេហទំព័រតែងតែត្រឡប់លេខដូចគ្នាសម្រាប់ការបញ្ចូលដូចគ្នា & # 160; ។ ចម្លើយតបនីមួយៗរាយអ្វីដែលវាបានបំពេញនៅក្រោម defaults_applied.
អ្វីដែល API មិនអាចដោះស្រាយដោយស្មោះត្រង់គឺជាកំហុសមិនធ្លាប់មានសូន្យ & # 160; ៖ ប៉ារ៉ាម៉ែត្រដែលបានសរសេរខុស តម្លៃនៃប្រភេទខុស ជម្រើសទម្លាក់ចុះមិនស្គាល់ ឬវាលដែលបាត់ដែលគ្មានលំនាំដើម (វាលកាលបរិច្ឆេទ - កាលបរិច្ឆេទកំណើតមិនអាចត្រូវបានទាយ) & # 160; ។ រាល់ 400 ឈ្មោះប៉ារ៉ាម៉ែត្រដែលបានរំលោភបំពាន និងត្រឡប់មកវិញនូវការបញ្ជាក់វាលពេញលេញ ដូច្នេះម៉ាស៊ីនភ្ញៀវអាចកែខ្លួនវា & # 160; ។
$ curl "https://calculator.free/api/v1/mortgage/?price=350000&rate=6.5&term=30"
{
"ok": false,
"error": "unknown_parameter",
"message": "Unknown parameter 'term' for calculator 'mortgage'. Did you mean 'years'? ...",
"unknown_parameters": ["term"],
"did_you_mean": { "term": "years" },
"valid_parameters": ["down", "extra", "extra_onetime", "extra_yearly", "hoa",
"insurance", "other", "pmi", "price", "rate", "tax", "years"],
"fields": [ ... ]
}
| កំហុស | HTTP | ពេលណា |
|---|---|---|
unknown_parameter | 400 | ប៉ារ៉ាម៉ែត្រដែលមិនមែនជាវាលរបស់ម៉ាស៊ីនគិតលេខនេះ (ជាមួយការផ្ដល់យោបល់ដែលអ្នកគិតថាមានន័យ) |
invalid_value | 400 | វាលលេខដែលមិនមែនជាលេខ តម្លៃទម្លាក់ចុះខាងក្រៅជម្រើសរបស់វា កាលបរិច្ឆេទដែលមិនអាចញែក ឬរបៀបមិនស្គាល់ |
missing_parameter | 400 | ម៉ាស៊ីនគិតលេខមិនបានបង្កើតលទ្ធផលទេ ព្រោះវាលដែលគ្មានលំនាំដើមត្រូវបានទុកទទេ |
unsupported_country | 400 | ? ប្រទេស = មិន មែន ជា មួយ ម៉ាស៊ីន គិត លេខ នេះ មាន ទិន្នន័យ សម្រាប់ |
bad_json | 400 | តួ POST មិនមែនជា JSON ត្រឹមត្រូវទេ |
unknown_calculator | 404 | គ្មានម៉ាស៊ីនគិតលេខជាមួយ slug នោះទេ |
invalid_key | 401 | កូនសោ API ត្រូវបានផ្ញើ ប៉ុន្តែមិនស្គាល់ ឬអសកម្ម |
rate_limited / quota_exceeded | 429 | ដែនកំណត់ IP រៀងរាល់ម៉ោងដែលមិនស្គាល់ ឬកូតាប្រចាំខែរបស់កូនសោ ត្រូវបានប្រើរួច |
too_many_invalid_requests | 429 | សំណើដែលបានបដិសេធច្រើនពេកក្នុងមួយម៉ោងសម្រាប់គ្រាប់ចុចនេះ - ការហៅដែលបានបដិសេធគឺឥតគិតថ្លៃ ដូច្នេះពួកវាមានអត្រាកំណត់ជំនួសវិញ & # 160; ។ កំណត់ឡើងវិញរៀងរាល់ម៉ោង ការហៅដែលជោគជ័យមិនរាប់ចូលទៅក្នុងវាទេ & # 160; ។ |
/api/v1/ លិបិក្រមបោះពុម្ពផ្សាយសោវាលនីមួយៗ ប្រភេទ ឯកតា លំនាំដើម និងថាតើវាត្រូវបានទាមទារឬអត់ - គ្រប់គ្រាន់ដើម្បីសាងសង់ម៉ាស៊ីនភ្ញៀវដែលមិនធ្លាប់ទាយ & # 160; ។
ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ និងផែនការ
អ្នក អាច ហៅ API ដោយ គ្មាន កូនសោ នៅ លើ ទាំងអស់ - សំណើ អនាមិក ត្រូវបាន កំណត់ ដោយ ចំនួន កំណត់ ដោយ IP. សម្រាប់ ខ្ពស់ ជាង នេះ, កូតា ខែ ប្រចាំ ឆ្នាំ ដែល អាច ព្យាករ បាន (និង ការ ប្រើ ពាណិជ្ជកម្ម), បង្កើត កូនសោ នៅលើ ទំព័រ គណនី របស់ អ្នក ហើយ ផ្ញើ វា មួយ នៃ វិធី បី:
GET https://calculator.free/api/v1/mortgage/?price=350000&key=YOUR_KEY
curl -H "Authorization: Bearer YOUR_KEY" "https://calculator.free/api/v1/bmi/?units=metric&height=180&weight=80"
curl -H "X-Api-Key: YOUR_KEY" "https://calculator.free/api/v1/bmi/?units=metric&height=180&weight=80"
- ឥតគិតថ្លៃ — អនាមិក (អត្រា IP កំណត់) ឬកូនសោឥតគិតថ្លៃជាមួយកូតាប្រចាំខែតូច ។ មិនមែនពាណិជ្ជកម្ម ។
- អ្នកអភិវឌ្ឍន៍ — $9/ខែ — 10,000 ការហៅ/ខែ, ការប្រើពាណិជ្ជកម្ម។
- អាជីវកម្ម — $49/ខែ — 100,000 ការហៅ / ខែ, ចំណាត់ថ្នាក់អាទិភាព.
អ្វីដែលរាប់ប្រឆាំងនឹងកូតារបស់អ្នក
មួយ 2xx = ការហៅមួយ. កំហុសទាំងអស់គឺឥតគិតថ្លៃ: 400 សម្រាប់ប៉ារ៉ាម៉ែត្រ spelled ខុស, តម្លៃអាក្រក់ឬបាត់វាលចាំបាច់, 404 សម្រាប់ slug មិនស្គាល់, 401 សម្រាប់គ្រាប់ចុចអាក្រក់, 429, និងអ្វីគ្រប់យ៉ាងដែលទៅខុសនៅផ្នែករបស់យើង. សិក្សាអំពីកិច្ចសន្យានិងជួសជុលសំណើរបស់អ្នកជាច្រើនដងដូចដែលអ្នកត្រូវការ - អ្នកត្រូវបានបង់ប្រាក់សម្រាប់ចម្លើយ, មិនសម្រាប់ការកែតម្រូវ.
ដោយសារកំហុសគឺឥតគិតថ្លៃពួកវាមានអត្រាកំណត់ជំនួសវិញ & # 160; ៖ ប្រសិនបើគ្រាប់ចុចមួយបង្កឲ្យមានច្រើនជាង 200 ឆ្លើយតបបដិសេធក្នុងមួយម៉ោង, វាទទួលបាន HTTP 429 "too_many_invalid_requests" រហូតដល់ម៉ោងរត់លើស. ការហៅជោគជ័យមិនរាប់ទៅរកនោះ, ដូច្នេះការរួមបញ្ចូលការងារនឹងមិនឃើញវា - វាគ្រាន់តែចាប់ម៉ាស៊ីនភ្ញៀវជាប់គាំងនៅក្នុងរង្វង់ព្យាយាមឡើងវិញ.
ពេលដែលកូតាប្រចាំខែរបស់កូនសោត្រូវបានប្រើឡើង API ត្រឡប់ HTTP 429 ជាមួយកំហុស "quota_exceeded" កូនសោមិនស្គាល់ ឬអសកម្មត្រឡប់ HTTP 401 ។ មើលផែនការពេញលេញនិងចុះឈ្មោះនៅលើ ការកំណត់តម្លៃ ទំព័រ.
ឧទាហរណ៍
curl
curl "https://calculator.free/api/v1/mortgage/?price=350000&down=70000&rate=6.9&years=30"
JavaScript fetch()
const r = await fetch(
"https://calculator.free/api/v1/bmi/?" + new URLSearchParams({
units: "metric", height: "180", weight: "80"
}));
const { results } = await r.json();
console.log(results.bmi, results.category);
Python
import requests
r = requests.get("https://calculator.free/api/v1/mortgage/",
params={"price": 350000, "down": 70000,
"rate": 6.9, "years": 30},
headers={"Authorization": "Bearer YOUR_KEY"})
print(r.json()["results"])
POST JSON
curl -X POST "https://calculator.free/api/v1/income-tax/?country=uk" \
-H "Content-Type: application/json" \
-d '{"income": 60000}'
ចំណុចបញ្ចប់ទាំងអស់
ចំណុចបញ្ចប់មួយក្នុងមួយម៉ាស៊ីនគិតលេខ & # 160; ។ គ្រាប់ចុចវាល និងគ្រាប់ចុចលទ្ធផលសម្រាប់រៀងៗខ្លួនគឺនៅក្នុង /api/v1/ លិបិក្រម.
ហិរញ្ញវត្ថុ (41)
ពន្ធ និងប្រាក់ខែ (2)
| ម៉ាស៊ីនគិតលេខ | ចំណុចបញ្ចប់ |
|---|---|
| កម្មវិធីគណនាពន្ធចំណូល | /api/v1/income-tax/ |
| កម្មវិធីគណនាពន្ធលើការលក់ និង VAT | /api/v1/sales-tax/ |
សុខភាព និងសុខភាព (28)
ប្រភេទ (26)
ស្ថិតិ (15)
កម្មវិធីបម្លែងឯកតា (17)
វិទ្យាសាស្ត្រ និងវិស្វកម្ម (27)
កាលបរិច្ឆេទ និងពេលវេលា (15)
រាល់ថ្ងៃ (27)
លទ្ធផលគឺការប៉ាន់ប្រមាណសម្រាប់តែការណែនាំទូទៅប៉ុណ្ណោះ, មិនហិរញ្ញវត្ថុ, វេជ្ជសាស្ត្រឬដំបូន្មានពន្ធ.