I-Calculator ye-API ekhululekileyo
Iicalculator zonke kule ndawo ziyi-JSON API ekhululekileyo. Akukho ubhaliso, akukho iqhosha le-API, i-CORS-isebenzayo - thumela kwiseva yakho okanye ngqo kwi-browser.
Iinkcukacha
I-API iqhuba i-mathematics efanayo esetyenziswa yiwebhusayithi. Thumela amaxabiso endawo ye-calculator njengeparameters zombuzo okanye i-JSON kwaye ufumane iziphumo ezibalo-manani zibuyela kwi-JSON — kubandakanya nayiphi na inkqubo yokuhlawula okanye i-chart data i-calculator ivelisa.
- 198+ ii-calculators, nganye inendawo yayo
- Akukho sitshixo se-API — Unikezelo olungaziwayo, unikezelo olukhawulezayo oluphelelwe lixesha yi-IP
- CORS —
Access-Control-Allow-Origin: *(i-client-side esetyenziswayo) - Umda wexabiso: 60 izicelo/iyure nge-IP nganye (HTTP 429 xa igqityiwe)
- Impazamo zikhululekile — 2xx) kuphela esebenzisa unxulumano olunye kwi-quota yakho yenyanga. Yonke i-400, 401, 404, 429 ne-500 ayikubiza nto.
Isiseko se URL
https://calculator.free/api/v1/
Isalathisi - luhlu lwe calculator nganye
GET https://calculator.free/api/v1/
Ibuyisela uluhlu olufundekayo ngematshini lwazo zonke iicalculator ezinezithuba nganye (iqhosha, ilabel, uhlobo, okungagqibekanga, iyunithi) kunye nezitshixo zeziphumo - ezinenzuzo yokwakha umxhasi ngokulula. Indawo nganye ithatha iflegi efunekayo - inyaniso kwimihlaba emibini engagqibekanga (imihla, ininzi). Thumela ezi: ii calculators ezimbini zingaqwalasela enye, iintaka ziphendula 400 ngaphandle kwayo.
I-Calculator
GET https://calculator.free/api/v1/<slug>/?field=value&field=value
POST https://calculator.free/api/v1/<slug>/ (JSON or form body)
Uhlobo lwempendulo:
{
"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"]
}
Ii-calculators ezizimeleyo zelizwe (i-mortgage, i-loan, i-income-tax, ?country=us|uk|ca|au|in|ie|nz|za. Icebo elingaziwayo libuyisela 404; ilizwe elingaxhaswanga okanye ungeniso olubi libuyisela 400 nomyalezo oncedisayo kunye nendawo ekhankanywe.
Parameters, i-defaults kunye nemposiso
Thumela kuphela imihlaba onomdla kuyo. Nantoni na oyenzayo igqityiwe ngendawo eshicilelweyo engagqibekanga yendawo - ixabiso elifanayo iphepha le kalkuli ligqityiwe ngaphambili, ngoko i API newebhusayithi zihlala zibuyisela amanani afanayo kwingeniso efanayo. Impendulo nganye idwelisa into egqityiwe phantsi defaults_applied.
Nantoni na i API ayikwazi ukusombulula ngokunyanisekileyo ingxaki, ayisayi kuba yi zero: i parameter ebhaliweyo kakubi, ixabiso lodidi olungalunganga, ukhetho olungaziwayo lokuhla, okanye indawo elahlekile engagqibekanga (imida yomhla - umhla wokuzalwa awukwazi ukucinga). Yonke i 400 igama i parameter ephulayo kwaye iphinda i 400 igama elipheleleyo lendawo espec ukuze umxhasi angalungisa ngokwakhe.
$ 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": [ ... ]
}
| Imposiso | HTTP | Xa |
|---|---|---|
unknown_parameter | 400 | parameter eyiyo engayiyo indawo ye calculator (nocebiso lwe did- you- meant) |
invalid_value | 400 | indawo yenani elingaba linani, ixabiso elinyukayo ngaphandle kokukhetha kwayo, umhla ongachazwanga, okanye inkqubo engaziwayo _ye- |
missing_parameter | 400 | i-calculator ayivelisi naziphi na iziphumo kuba indawo engenanto emiselweyo ishiyeke engenanto |
unsupported_country | 400 | ?ilizwe= aliyiyo enye le calculator ikwi data |
bad_json | 400 | isiqu se-POST asiyiyo i-JSON esebenzayo |
unknown_calculator | 404 | akukho calculator nge slug |
invalid_key | 401 | i-API key ithunyelwe kodwa ayiziwa okanye ayisebenzi |
rate_limited / quota_exceeded | 429 | umda we-IP ongaziwayo weyure nganye, okanye iqhosha le-quota yenyanga, isetyenziswe |
too_many_invalid_requests | 429 | iimfuno ezininzi ezilahlekileyo kwiyure enye kule qhosha - unxulumano olulahlekileyo lukhululekile, ngoko ke lukhawuleziwe ngexabiso endaweni yoko. Ibuyisela kwiyure nganye; unxulumano oluphumelelayo aluyi kubakho. |
I- /api/v1/ isalathisi sishicilela iqhosha lendawo nganye, uhlobo, iyunithi, elingagqibekanga nokuba ifuneka na — okuninzi ukuvelisa umxhasi ongazange aqikelele.
Ubungqina & inkqubo
Ungabiza i-API ngaphandle kwesitshixo nantoni na - izicelo ezingaziwayo zikhawuleziwe yi-IP. Ukufumana ixabiso eliphezulu, elilindelekeyo lenyanga (nesicelo sorhwebo), yenza isitshixo kwiphepha le-akhawunti yakho kwaye uyithumelele enye yeendlela ezintathu:
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"
- Iinketho ze-GNU/Linux — i-IP engaziwayo (IP ekhawulezayo-ekhawulezayo) okanye iqhosha elikhululekileyo elinomlinganiselo omncinci wenyanga.
- Umbhekisi phambili — $9/mo — 10,000 uqhagamshelwano/inyanga, ukusetyenziswa korhwebo.
- Ishishini — $49/ngonyaka — 100,000 uqhagamshelwano/inyanga, unikezelo oluphambili.
Izinto ezibalaseleyo
Kuphela umyalezo ophumelelayo owenza. I 2xx enye = unxulumano olunye. Impazamo nganye ikhululekile: i 400 ye parameter ebhaliweyo kakubi, ixabiso elibi okanye indawo efunekayo elahlekile, i 404 ye slug engaziwayo, i 401 yeqhosha elibi, i 429, nantoni na ehamba kakubi kwicala lethu. Khangela ikontraki kwaye ulungise isicelo sakho amaxesha amaninzi ofuna - uhlawuliswa ngeempendulo, hayi ngeenkqubo zokulungisa.
Kuba iimpazamo zikhululekile zikhawuleziwe endaweni yoko: ukuba iqhosha elinye libangela ngaphezulu 200 ilahlekile izimvo kwiyure, ifumana i-HTTP 429 "too_many_invalid_requests" de iyure ijikeleze ngaphezulu. Iifowuni eziphumelelayo aziyi kubakho kuleyo, ngoko ke udityaniswa okusebenza akuyi kubakho ukukubona - ifumana kuphela umxhasi oxakekileyo kwi-retry loop.
Xa iqhosha le-quota yenyanga lisetyenziswa i-API ibuyisela i-HTTP 429 enempazamo "quota_exceeded"; iqhosha elingaziwayo okanye elikhubazekileyo libuyisela i-HTTP 401. Iinkqubo zeNkqubo yeNkqubo Ixabiso Iphepha.
Iimizekelo
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}'
Zonke iziphelo
I-1 endpoint nganye ye-calculator. Iqhosha lendawo kunye neqhosha leziphumo ngalinye likwi- /api/v1/ Isalathisi.
Imali (41)
I-Tax & (2)
| I-Calculator | Incopho yesiphelo |
|---|---|
| I-Calculator yeNtlawulo yengeniso | /api/v1/income-tax/ |
| I-Calculator yeNtlawulo yoThengiso & ne-VAT | /api/v1/sales-tax/ |
Unyango & noKhuseleko (28)
Udidi (26)
Iinkcukacha-manani (15)
Iiyunithi zokutshintshiselana ngeendawo (17)
Ulwazi kunye nobuNjineli (27)
Umhla & Ixesha (15)
Imihla ngemihla (27)
IiNtlanganiso zeNtlanganiso yeNtlanganiso