Background
بازگشت به بلاگ

تجزیه هوشمند آدرس فارسی

۱۴۰۵/۷/۷
تیم ژئوتاژک
تجزیه هوشمند آدرس فارسی

آدرس‌های فارسی معمولا به شکل آزاد و بدون ساختار نوشته می‌شوند. این سرویس با کمک هوش مصنوعی هر آدرس متنی را به اجزای استاندارد تفکیک می‌کند تا بتوانید آن را ذخیره، جستجو یا اعتبارسنجی کنید.

کاربردها

  • یکپارچه‌سازی آدرس‌های ثبت‌شده در فروشگاه‌های اینترنتی و سامانه‌های ارسال
  • پاک‌سازی بانک اطلاعات مشتریان
  • آماده‌سازی آدرس برای ژئوکد دقیق‌تر

دریافت توکن

  1. وارد داشبورد ژئوتاژک کلود شوید و با خرید بسته ژئوکوین کیف پول خود را شارژ کنید (با تایید شماره موبایل، ۲۰۰ هزار ژئوکوین هدیه می‌گیرید).
  2. در بخش توکن‌های API یک توکن بسازید، دسترسی «تجزیه هوشمند آدرس فارسی» را به آن بدهید و بخشی از موجودی کیف پول را به آن اختصاص دهید.
  3. کلید توکن را کپی کنید و در هدر Authorization بفرستید.

هزینه هر درخواست در صفحه سرویس‌ها درج شده و از اعتبار همان توکن کم می‌شود؛ خرید جداگانه برای هر سرویس لازم نیست.

آدرس سرویس

POST https://cloud.geotajak.ir/api/geo/parse-address

توکن را در هدر Authorization بفرستید:

Authorization: Bearer YOUR_TOKEN

(هدر X-API-Key: YOUR_TOKEN یا پارامتر ?api_key=YOUR_TOKEN هم پذیرفته می‌شود.)

بدنه درخواست (JSON)

فیلدنوعاجباریتوضیح
textمتنبلهآدرس فارسی

نمونه درخواست

cURL

curl -X POST "https://cloud.geotajak.ir/api/geo/parse-address" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "تهران، خیابان ولیعصر، بالاتر از میدان ونک، کوچه نگار، پلاک ۱۲، واحد ۳"}'

Python

import requests

TOKEN = "YOUR_TOKEN"
resp = requests.post(
    "https://cloud.geotajak.ir/api/geo/parse-address",
    json={"text": "تهران، خیابان ولیعصر، بالاتر از میدان ونک، کوچه نگار، پلاک ۱۲، واحد ۳"},
    headers={"Authorization": f"Bearer {TOKEN}"},
    timeout=60,
)
resp.raise_for_status()
print(resp.json())
print("اعتبار باقی‌مانده توکن:", resp.headers.get("X-Credit-Remaining"))

JavaScript

const TOKEN = "YOUR_TOKEN";
const res = await fetch("https://cloud.geotajak.ir/api/geo/parse-address", {
  method: "POST",
  headers: { Authorization: `Bearer ${TOKEN}`, "Content-Type": "application/json" },
  body: JSON.stringify({"text": "تهران، خیابان ولیعصر، بالاتر از میدان ونک، کوچه نگار، پلاک ۱۲، واحد ۳"}),
});
const data = await res.json();
console.log(data, res.headers.get("X-Credit-Remaining"));

نمونه پاسخ

{
  "raw": "تهران، خیابان ولیعصر، بالاتر از میدان ونک، کوچه نگار، پلاک ۱۲، واحد ۳",
  "structured": {
    "province": "تهران",
    "county": null,
    "city": "تهران",
    "district": null,
    "neighborhood": null,
    "main_street": "ولیعصر",
    "street": "ولیعصر",
    "alley": "نگار",
    "plate": "۱۲",
    "floor": null,
    "unit": "۳",
    "postal_code": null,
    "landmark": "میدان ونک"
  },
  "model": "gpt-4o-mini"
}

اجزای structured: province استان، county شهرستان، city شهر، district منطقه، neighborhood محله، main_street خیابان اصلی، street خیابان، alley کوچه، plate پلاک، floor طبقه، unit واحد، postal_code کدپستی، landmark نشانه. اجزایی که در آدرس نیستند null هستند.

هزینه و هدرهای پاسخ

هزینه هر درخواست موفق از اعتبار توکن کم می‌شود. در هر پاسخ این هدرها برگردانده می‌شوند:

هدرتوضیح
X-Request-Costهزینه همین درخواست (ژئوکوین)
X-Credit-Remainingاعتبار باقی‌مانده توکن (ژئوکوین)

نمایش آماده در سایت (بدون کدنویسی)

اگر به آدرس همین سرویس ui=true اضافه کنید، به‌جای JSON یک صفحه آماده (نقشه، نمودار و جدول نتیجه) برمی‌گردد که در <iframe> سایت شما قرار می‌گیرد و با رنگ‌های توکن شما ساخته می‌شود. هزینه آن با درخواست معمولی یکی است. جزئیات در راهنمای شروع و نمونه زنده در «آزمایشگاه سرویس» صفحه هر سرویس.

خطاها

کدخطاتوضیحهزینه کسر می‌شود؟
401missing_token / invalid_tokenتوکن ارسال نشده یا نامعتبر استخیر
401token_disabledتوکن غیرفعال شده استخیر
402insufficient_creditاعتبار توکن تمام شده است؛ از کیف پول به آن اعتبار اضافه کنیدخیر
403service_not_allowedاین توکن به این سرویس دسترسی نداردخیر
403token_expiredتاریخ انقضای توکن گذشته استخیر
403ip_not_allowed / domain_not_allowedدرخواست از آی‌پی یا دامنه‌ای غیر از موارد مجاز توکن آمده استخیر
405method_not_allowedمتد HTTP اشتباه استخیر
429rate_limitedسقف درخواست ساعتی توکن پر شده استخیر
502upstream_unavailableسرویس موقتا در دسترس نیستخیر
5xx—خطای داخلی سرویسخیر
400—متن آدرس خالی استبله
502—پاسخ مدل هوش مصنوعی نامعتبر بودخیر
503—سرویس هوش مصنوعی در دسترس نیستخیر

پاسخ خطا به این شکل است:

{"error": "insufficient_credit", "message": "اعتبار این توکن تمام شده است؛ از کیف پول خود به آن اعتبار اضافه کنید"}

نکته‌ها

  • پس از تجزیه، برای گرفتن مختصات می‌توانید آدرس تمیزشده را به سرویس «جستجوی آدرس» بدهید.

سوالی دارید؟ از بخش تیکت‌ها در داشبورد با ما در ارتباط باشید.

APIهوش مصنوعیآدرس