PHP
منتشر شدهنیازمندیها: PHP 8.1+ و Composer
- بدون کد اختصاصی برای هر سرویس؛ سرویسهای جدید خودکار در دسترساند
- پارامترهای نامدار یا آرایهٔ انجمنی
- Exceptionهای تفکیکشده بر اساس کد خطای API
- پاسخ فقطخواندنی با دسترسی مسیر نقطهای
- سازگار با PSR-18 و PSR-17؛ بهصورت پیشفرض با Guzzle
$ composer require nestapi/nestapi
use NestApi\NestApi;
use NestApi\Exception\ApiException;
$api = new NestApi();
try {
$ip = $api->ipInfo(ip: '8.8.8.8');
echo $ip->get('location.country');
} catch (ApiException $e) {
echo $e->getMessage();
}
Python
منتشر شدهنیازمندیها: Python 3.10+
- بدون کد اختصاصی برای هر سرویس؛ سرویسهای جدید خودکار در دسترساند
- کلاینت همگام و ناهمگام (async) با رفتار یکسان
- پارامترهای keyword یا dict
- Exceptionهای تفکیکشده بر اساس کد خطای API
- Type hint کامل، بر پایهٔ httpx
$ pip install nestapi-py
from nestapi import ApiError, NestApi
with NestApi() as api:
try:
ip = api.ip_info(ip="8.8.8.8")
print(ip.get("location.country"))
except ApiError as e:
print(e.error_code)
JavaScript
منتشر شدهنیازمندیها: Node.js 18+ یا مرورگر با fetch
- بدون کد اختصاصی برای هر سرویس؛ سرویسهای جدید خودکار در دسترساند
- مبتنی بر Promise و بدون هیچ وابستگی؛ برای Node.js و مرورگر
- پارامترها به شکل یک آبجکت ساده
- خطاهای تفکیکشده بر اساس کد خطای API
- نوشتهشده با TypeScript، با خروجی ESM و CommonJS
$ npm install @devh3n/nestapi
import { ApiError, NestApi } from "@devh3n/nestapi";
const api = new NestApi();
try {
const ip = await api.ipInfo({ ip: "8.8.8.8" });
console.log(ip.get("location.country"));
} catch (error) {
if (error instanceof ApiError) console.log(error.errorCode);
}