مستندات فنی API کانال‌جو

نسخه 1.0.0

مقدمه و آدرس پایه

وب‌سایت کانال‌جو (canaljoo.ir) بستری جهت معرفی، بررسی و رتبه‌بندی کانال‌های فعال در پیام‌رسان‌ها و پلتفرم‌های داخلی از جمله روبیکا، بله و ایتا است. از طریق این API می‌توانید به اطلاعات آماری، رتبه‌بندی‌ها و روند رشد کانال‌ها دسترسی داشته باشید.

آدرس پایه (Base URL):

https://api.canaljoo.ir/v1/

احراز هویت (Authentication)

برای استفاده از API کانال‌جو، نیاز به توکن اختصاصی (API Token) دارید. جهت دریافت توکن، باید به حساب کاربری خود در وب‌سایت کانال‌جو مراجعه کرده و از بخش تنظیمات/کلیدهای API، اقدام به دریافت توکن نمایید.

توکن دریافتی باید در هدر تمام درخواست‌ها به صورت Bearer Token ارسال شود:

Authorization: Bearer YOUR_API_TOKEN

دریافت اطلاعات یک کانال خاص

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

GET /channels/{platform}/{identifier}

پارامترهای مسیر (Path Parameters):

پارامتر نوع توضیحات
platform String نام پلتفرم (به عنوان مثال: rubika، bale، eitaa)
identifier String شناسه یا آیدی کانال بدون علامت @

ساختار پاسخ (Response Schema)

پاسخ‌های دریافتی از API در قالب فرمت استاندارد JSON ارائه می‌شوند. نمونه پاسخ موفق برای یک کانال به شرح زیر است:

{
  "status": "success",
  "data": {
    "title": "کانال آموزشی کانال‌جو",
    "description": "توضیحات رسمی مربوط به کانال و محورهای فعالیت آن",
    "avatar_url": "https://canaljoo.ir/uploads/avatars/channel_sample.png",
    "category": "آموزش",
    "platform": "eitaa",
    "members_count": 12500,
    "is_verified": true,
    "created_at": "2023-05-12T14:30:00Z",
    "updated_at": "2024-11-20T08:15:00Z",
    "tags": ["آموزش", "برنامه‌نویسی", "فناوری"],
    "location": {
      "province": "تهران",
      "city": "تهران"
    },
    "rankings": {
      "rank_global": 124,
      "rank_in_platform": 45,
      "rank_in_category": 12,
      "rank_in_province": 82,
      "rank_in_city": 70
    },
    "growth_stats": {
      "growth_24h": 150,
      "growth_7d": 850,
      "growth_30d": -200
    },
    "members_history_30d": [
      12700, 12680, 12650, 12600, 12580, 12550, 12500
    ]
  }
}

توضیحات فیلدهای پاسخ:

نام فیلد نوع داده توضیحات
title String عنوان یا نام عمومی کانال
description String توضیحات معرفی (Bio) کانال
avatar_url String / Null آدرس تصویر پروفایل کانال در سرور کانال‌جو
category String دسته‌بندی موضوعی تعیین شده برای کانال
platform String پلتفرم میزبان کانال (ایتا، بله، روبیکا و...)
members_count Integer تعداد اعضای فعلی کانال بر اساس آخرین به‌روزرسانی
is_verified Boolean وضعیت تایید رسمی بودن کانال (دارای تیک آبی پلتفرم)
created_at String (ISO 8601) تاریخ تقریبی تاسیس یا ثبت اولیه کانال در پلتفرم
updated_at String (ISO 8601) تاریخ آخرین به‌روزرسانی اطلاعات کانال در وب‌سایت کانال‌جو
tags Array برچسب‌های مرتبط با حوزه فعالیت کانال
location Object شامل دو فیلد province (استان) و city (شهر) ثبت شده برای کانال
rankings Object شامل رتبه‌بندی‌های مختلف:
  • rank_global: رتبه در بین کل کانال‌های سیستم
  • rank_in_platform: رتبه در میان کانال‌های همان پلتفرم
  • rank_in_category: رتبه در دسته‌بندی موضوعی مربوطه
  • rank_in_province: رتبه در سطح استان ثبت شده
  • rank_in_city: رتبه در سطح شهر ثبت شده
growth_stats Object تغییرات تعداد اعضا در بازه‌های زمانی مختلف (مثبت یا منفی):
  • growth_24h: میزان رشد در ۲۴ ساعت گذشته
  • growth_7d: میزان رشد در ۷ روز گذشته
  • growth_30d: میزان رشد در ۳۰ روز گذشته
members_history_30d Array of Integers آرایه‌ای از تعداد اعضای ثبت شده در بازه ۳۰ روز گذشته جهت رسم نمودارهای آماری

کدهای خطا (Error Codes)

در صورت بروز خطا در پردازش درخواست، پاسخ با کدهای وضعیت استاندارد HTTP و ساختار خطای زیر ارسال می‌شود:

{
  "status": "error",
  "error": {
    "code": 401,
    "message": "Token is invalid or expired."
  }
}
کد وضعیت علت احتمالی
400 Bad Request فرمت پارامترهای ارسالی صحیح نیست.
401 Unauthorized توکن ارسالی نامعتبر است یا در هدر درخواست قرار نگرفته است.
404 Not Found کانال مورد نظر یا پلتفرم مشخص شده در سیستم یافت نشد.
429 Too Many Requests تعداد درخواست‌های ارسالی شما بیش از حد مجاز در دقیقه است.