Calculator API

Calculator ọ bụla na saịtị a bụ free JSON API. Ọ dịghị ntinye aka, ọ dịghị API key, CORS-enabled - kpọọ ya site na sava gị ma ọ bụ n'ụzọ ziri ezi site na brauzer.

Nlekọta

API na-agbagharị n'ihe nlereanya nke webụsaịtị ahụ na-eji. Ziga valiu ebe nke kalkulata dịka paramita nchọgharị mọọbụ JSON ma nweta nsonaazụ a na-enyocha n'ihu dịka JSON - gụnyere ọbụla ntọala n'ụdị ntọala mọọbụ data cháà nke kalkulata na-emepụta.

  • 198+ calculators, otu ọbụla na-enwe ebemkpofuozi ya
  • Enweghị kii API — anọnimị nbanye, n'ihe ogugu-n'ihi IP
  • CORSAccess-Control-Allow-Origin: * (Nhazi ndịna-ejighị n'aka)
  • Oge nkwụsị: 60 ajụjụ/ụbọchị IP ọbụla (HTTP 429 mgbe e mepere)
  • Ndehie ndị ahụ bụ nke n'efu — Ọbụna n'ihi na a na-abịarute (2xx) nzaghachi na-eji otu oku site na ọnwa gị. 400, 401, 404, 429 na 500 niile na-efu gị ihe ọ bụla.

URL nke okpuru

https://calculator.free/api/v1/

Indentị - ndesịta nke calculator niile

GET https://calculator.free/api/v1/

Na-eziga ndesịta nke na-agụgharị manụnụ nke ndịna-ekwere niile na mpaghara ebe nke ọbụla (kii, léèbụ̀, ụdị, dìfọ́ọ̀ltụ̀, ünitị) na kii nsonaazụ - nke dị n'ozuzu iji mepụta kliịntị n'ụzọ dínámātik̀. Ebe ọbụla na-eburukwa flagu achọrọ - eziokwu maka ebe ndị dị obere nke enweghị difọ́ọ̀ltụ̀ (ụbọchị, n'ozuzu ya). Ziga ha: ụfọdụ calculators nwere ike ịkọwa otu, ndị ọzọ na-aza 400 na-enweghị ya.

Kpọmkwem - rụọ ọrụ otu kalkulata

GET  https://calculator.free/api/v1/<slug>/?field=value&field=value
POST https://calculator.free/api/v1/<slug>/     (JSON or form body)

Ụdị nzaghachi:

{
  "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"]
}

Nabata ndị na-enyocha mba (mọrtagaịz, nkwụ, inweta-táàbụ̀, ahịa-táàbụ̀...) ?country=us|uk|ca|au|in|ie|nz|za. Slug a na-amaghị ama na-ezigaghachi 404; mba a na-ezere ma ọ bụ n'imegharị ahụ na-ezigaghachi 400 na ozi ndị bara uru na mpaghara ebe ahụ.

Parameta, difọ́ọ̀ltụ̀ na ndehie

Ziga naanị ebe ị na-elekọta. Ihe ọbụla ị na-ewepụ n'ime bụ nke a na-adọta na ebe ahụ difọ́ọ̀ltụ̀ - uru nke ọbụla nke ihuakwụkwọ kalkulata ahụ na-edebe, ya mere API na webụsaịtị na-eziga mgbe niile ọnụọgụgụ nke ọbụla maka n'imegharị ndị ahụ. Ndesịta nke ihe ọbụla ọ na-edebe n'okpuru defaults_applied.

Ihe ọbụla API na-agaghị arụ ọrụ n'ụzọ ziri ezi bụ ndehie, ọ bụghị seọro: parameter a na-asụgharịghị n'ụzọ ziri ezi, valiu nke ụdị na-ezighị ezi, nhọrọ dropdown a na-amaghị, mọọbụ mpaghara ebe ehichapụ nke enweghị difọ́ọ̀ltụ̀ (ụbọchị mpaghara - ụbọchị ọmụmụ a na-agaghị asị). Ọdịnihu 400 niile aha parameter na-abịanụ na-ekpepụta mpaghara ebe zuru ezu ka klaasị nwee ike ịgbanwe onwe ya.

$ 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": [ ... ]
}
NdehieHTTPMgbe
unknown_parameter400paramita nke abụghị mpaghara ebe nke kalkulata a (na-enwe n'aka gị-n'aka gị-n'aka gị n'aka gị)
invalid_value400Ndesịta mpagharaogologo nke abụghị nọmba, uru dropdown n'ebe n'ebe n'ime nhọrọ ya, ụbọchị na-ezoro ezo, mọọbụ _mode a na-amaghị
missing_parameter400Calculator na-emepụtaghị nsonaazụ ọbụla n'ihi na a hapụla ebe ọbụla na-enweghị dìfọ́ọ̀ltụ̀ na-enweghị ihe
unsupported_country400?country= abụghị otu nke kaadị a nwere data maka
bad_json400POST body bụ JSON nke a ga-ejighị
unknown_calculator404Enweghị kalkulata na slug ahụ
invalid_key401E zigaara kii API ma ọ bụ na ọ bụghị ma ọ bụ na ọ dịghị ọrụ
rate_limited / quota_exceeded429Oge IP nke anọnimị, mọọbụ kii nke ọnwa, ejirila ya
too_many_invalid_requests429Nchọgharị ndị ahụ a hapụghị n'ụbọchị ahụ maka kii a - oku ndị a hapụghị bụ n'efu, yabụ ha bụ ọnụọgụgụ-echekwa n'ebe ahụ. Rézíèsì ọbụla; oku ndị ahụ e hapụghị na-echekwa n'ebe ahụ.

The /api/v1/ Indentị na-ebipụta kii nke mpaghara ebe ọbụla, ụdị, yunit, difọ́ọ̀ltụ̀ na ọ bụrụ na ọ chọrọ - nke dị n'aka iji rụpụta klaasị nke na-echeghị na ọ ga-eme.

Nkwenye na usoroiheomume

I nwere ike ịkpọ API na kii ọbụla - ajụjụ ndị a na-ewepụ aha ha bụ nke a na-egbochi site na IP. Maka nke dị elu, nke a ga-atụ anya na ọnwa kwa (na ojiji n'omume), kewaa kii na ibe akaụntụ gị ma zipụ ya n'otu n'ime ụzọ atọ:

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"
  • _Nkebi — anonymous (IP rate-limited) mọọbụ kii ọbụla na квота ọnwa nta. Ọ bụghị n'ọrụ.
  • Debanye aha — 10,000 oku / ọnwa, iji azụmahịa.
  • Business &mdash; $49/mo — 100,000 oku / ọnwa, n'ihu ọha throughput.

Ihe na-ewere n'ihe

Ọbụna nzaghachi na-arụ ọrụ na-eme ya. 2xx = otu n'ime ha. Ndehie ọbụla bụ n'efu: 400 maka parameter nke a na-asụgharịghị n'ụzọ ziri ezi, uru ọjọọ mọọbụ ebe achọrọ na-efu, 404 maka slug a na-amaghị, 401 maka kii ọjọọ, 429, na ihe ọbụla nke na-aga n'ụzọ na-ezighị ezi na nke anyị. Nwalee nkwekọrịta ahụ ma dozie arịrịọ gị dịka oge ole na ole ịchọrọ - ị na-akwụ ụgwọ maka nzaghachi, ọ bụghị maka ntọlite.

N'ihi na ndehie bụ n'efu ha bụ n'ihe n'ozuzu ha: ọ bụrụ na kii ọbụla na-eme ka ọ dịkwuo karịa 200 Ọ gaghị akwadoghachi nzaghachi n'ụbọchị, ọ na-enweta HTTP 429 "too_many_invalid_requests" ruo mgbe ọbụla ọbụla. Nkpọ oku na-abịa n'ụzọ ahụ agaghị akwụ ụgwọ, yabụ na ọ ga-ahụ ya na-arụ ọrụ - ọ na-echekwa naanị onye ọrụ ahụ na-abịa n'ụbọchị.

Mgbe a na-eji kii nke ọnwa kwaota ruo elu, API na-ezigaghachi HTTP 429 na ndehie "quota_exceeded"; kii a na-amaghị ma ọ bụ kii a na-ezigaghị azụ na-ezigaghachi HTTP 401. Họrọ Nhazi peeji.

Ụdị

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}'

Ńkwádò niile

Otu n'ime ngwụcha nke ọbụla na-ejikwa kalkulata. Kii mpaghara ebe na kii nsonaazụ maka ọbụla bụ na /api/v1/ ndesịta.

Ego (41)
Tax na Saịlọn (2)
Nlekọta na mmezi (28)
Ụdị (26)
Statistics (15)
Ntụgharị yunit (17)
Saịkọn na injinị (27)
Ụbọchị na oge (15)
_Nkebi (27)

Ihe a na-ahụta bụ n'ihi nlekọta n'ozuzu ya, ọ bụghị nlekọta ego, ọgwụ ma ọ bụ nlekọta ego.