توثيق API

يتيح لك Rexiew API البحث عن الأشياء وقراءة المراجعات وإنشاء مراجعات ذكية وتقديم مراجعات بشرية وتضمين أداة المراجعات على أي موقع. جميع الردود بصيغة JSON.

عنوان URL الأساسي

https://rexiew.com/api

جميع نقاط النهاية نسبية لعنوان URL الأساسي هذا.

المصادقة

Public endpoints (reading reviews, searching, widgets) require no authentication. Endpoints that create or modify data require a JWT Bearer token.

To get a token, call POST /auth/login with your email and password. Include the token in subsequent requests:

Authorization: Bearer <access_token>

Access tokens expire after 1 hour. Use POST /auth/refresh with your refresh token to get a new one.

معالجة الأخطاء

Errors return a JSON object with an error field and an appropriate HTTP status code.

{
  "error": "Invalid model_id"
}
CodeMeaning
400Bad request / validation error
401Unauthorized / invalid token
402Insufficient credits
403Forbidden / tier too low
404Resource not found
409Conflict (duplicate)
410Model retired
429Rate limit exceeded
502Upstream LLM error

نقاط النهاية العامة

لا يتطلب المصادقة.

GET /health

تحقق مما إذا كان API يعمل.

الرد

{
  "status": "ok",
  "service": "Rexiew API",
  "version": "1.0.0"
}
GET /models

قائمة بجميع نماذج LLM مع متطلبات المستوى وحالة النشاط. إذا كنت موثقًا، تتضمن ما إذا كان كل نموذج في متناول مستوى الاشتراك الخاص بك.

الرد

{
  "models": [
    {
      "id": 19,
      "slug": "claude-opus-4-6",
      "name": "Claude Opus 4.6",
      "description": "The most powerful Claude LLM model.",
      "provider": "anthropic",
      "cost": 1,
      "active": true
    }
  ],
  "user_tier": "free"
}
GET /things/{id}

احصل على تفاصيل الشيء وجميع مراجعاته.

الرد

{
  "thing": {
    "id": 42,
    "name": "iPhone 16 Pro",
    "type": "product",
    "review_count": 7,
    "avg_rating": 4.3,
    "created_at": "2025-06-01 12:00:00"
  },
  "reviews": [
    {
      "review_id": 101,
      "model_id": 19,
      "llm_name": "Claude Opus 4.6",
      "rating": 4.5,
      "review": "The iPhone 16 Pro represents...",
      "created_at": "2025-06-02 09:30:00"
    }
  ]
}
GET /review/{id}

احصل على تفاصيل المراجعة الكاملة بما فيها المميزات والعيوب والبدائل والنقاط الأبعاد وحالة التحقق على السلسلة.

الرد

{
  "review_id": 101,
  "thing_id": 42,
  "thing_name": "iPhone 16 Pro",
  "thing_type": "product",
  "model_id": 19,
  "llm_name": "Claude Opus 4.6",
  "reviewer_type": "ai",
  "review_aspect": "general",
  "rating": 4.5,
  "review": "The iPhone 16 Pro represents...",
  "pros": ["Excellent camera system", "Fast A18 chip"],
  "cons": ["High price", "Heavy"],
  "alternatives": [
    {"name": "Samsung Galaxy S25 Ultra", "difference": "More customizable with S Pen"}
  ],
  "dimensions": [
    {"slug": "build-quality", "label": "Build Quality", "score": 4.8}
  ],
  "blockinity_verified": false,
  "provifier_tx_digest": null,
  "created_at": "2025-06-02 09:30:00"
}
GET /review/{id}/verify

التحقق من إثبات السلسلة الموقع لمراجعة بشرية موقعة عبر Provifier.

الرد

{
  "verified": true,
  "tx_digest": "ABC123...",
  "chain": "sui",
  "data_hash": "sha256...",
  "explorer_url": "https://suiscan.xyz/mainnet/tx/ABC123..."
}

نقاط النهاية المصادقة

These endpoints require a JWT Bearer token in the Authorization header.

POST /auth/login

المصادقة برسالة بريد إلكتروني وكلمة مرور. تُرجع رموز JWT للوصول والتحديث.

نص الطلب

{
  "email": "user@example.com",
  "password": "yourpassword"
}

الرد

{
  "access_token": "eyJ...",
  "refresh_token": "eyJ...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "user": {
    "id": 1,
    "email": "user@example.com",
    "role": "user",
    "credit_balance": 500
  }
}
POST /auth/register

إنشاء حساب جديد. يجب أن تكون كلمة المرور 10 أحرف على الأقل.

نص الطلب

{
  "email": "newuser@example.com",
  "password": "securepassword"
}

Response 201 Created

{
  "access_token": "eyJ...",
  "refresh_token": "eyJ...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "user": {
    "id": 2,
    "email": "newuser@example.com",
    "role": "user",
    "credit_balance": 0
  }
}
POST /auth/refresh

استبدل رمز التحديث الصحيح برموز وصول وتحديث جديدة.

نص الطلب

{
  "refresh_token": "eyJ..."
}

الرد

{
  "access_token": "eyJ...",
  "refresh_token": "eyJ...",
  "token_type": "Bearer",
  "expires_in": 3600
}
POST /review/resolve Auth

خطوة تمهيدية قبل إنشاء مراجعة. تحل مدخلات المستخدم إلى شيء موجود في قاعدة البيانات أو تقترح إنشاء واحد جديد. تستخدم نموذج ذكاء اصطناعي داخليًا للمطابقة.

نص الطلب

{
  "thing_name": "iPhone 16 Pro",
  "thing_type": "product"
}

الرد

{
  "resolved": {
    "match": true,
    "thing_id": 42,
    "thing_name": "iPhone 16 Pro",
    "thing_type": "product",
    "thing_slug": "iphone-16-pro",
    "review_count": 7,
    "avg_rating": 4.3
  },
  "candidates": [...],
  "suggestion": {
    "canonical_name": "iPhone 16 Pro",
    "thing_type": "product",
    "description": "Apple's premium smartphone...",
    "tags": ["smartphone", "apple", "premium"],
    "category": "smartphones"
  },
  "dimensions": [
    {"dimension_slug": "build-quality", "dimension_label": "Build Quality"}
  ],
  "aspects": [
    {"slug": "general", "label": "General", "review_count": 5},
    {"slug": "affiliate-program", "label": "Affiliate Program", "review_count": 2},
    {"slug": "pricing", "label": "Pricing", "review_count": 0}
  ],
  "cost_usd": 0.002,
  "elapsed_ms": 1200
}
POST /review/generate Auth

Generate an AI review for a thing. Costs 1 credit per review. Active models: Claude Opus 4.6 (ID 19) and GPT 5.4 (ID 25).

نص الطلب

{
  "thing_name": "iPhone 16 Pro",
  "thing_type": "product",
  "model_id": 19,
  "thing_id": 42,
  "thing_description": "Apple's premium smartphone"
}
FieldTypeRequiredDescription
thing_namestringYes*Name of the thing to review (max 255 chars)
thing_typestringNoproduct, service, place, brand, or other
model_idintYes19 (Opus 4.6) or 25 (GPT 5.4)
thing_idintNoIf provided, skips resolver and uses this thing directly
thing_descriptionstringNoDescription override for new things (max 255 chars)
review_aspectstringNoAspect to focus on (e.g. "affiliate-program", "pricing"). Defaults to "general"

* Required if thing_id is not provided.

Response 201 Created

{
  "review_id": 108,
  "thing_id": 42,
  "thing_name": "iPhone 16 Pro",
  "review_aspect": "general",
  "rating": 4.5,
  "review": "The iPhone 16 Pro represents...",
  "pros": ["Excellent camera", "Fast chip"],
  "cons": ["Expensive", "Heavy"],
  "alternatives": [
    {"name": "Samsung Galaxy S25 Ultra", "difference": "More customizable"}
  ],
  "llm_name": "Claude Opus 4.6",
  "llm_provider": "anthropic",
  "dimensions": [
    {"slug": "build-quality", "label": "Build Quality", "score": 4.8}
  ],
  "credits_spent": 1,
  "tokens": {"input_tokens": 850, "output_tokens": 620},
  "cost_usd": 0.059,
  "elapsed_ms": 8500
}
POST /review/human Auth

قدّم تقييماً مكتوباً بواسطة الإنسان. محدود بتقييم واحد لكل شيء لكل مستخدم في اليوم. اختياراً أضفْ عنوان محفظة للتحقق من خلال Blockinity.

نص الطلب

{
  "thing_id": 42,
  "rating_score": 4.5,
  "review_text": "I've used the iPhone 16 Pro for 3 months now...",
  "review_aspect": "general",
  "dimension_scores": {
    "build-quality": 4.8,
    "value-for-money": 3.5
  },
  "wallet_address": "0x..."
}

Response 201 Created

{
  "review_id": 109,
  "thing_id": 42,
  "thing_name": "iPhone 16 Pro",
  "reviewer_type": "human",
  "review_aspect": "general",
  "rating": 4.5,
  "review": "I've used the iPhone 16 Pro for 3 months now...",
  "dimensions": [
    {"slug": "build-quality", "label": "Build Quality", "score": 4.8}
  ],
  "blockinity_verified": true,
  "canonical_data": "{...}"
}
PATCH /review/{id}/sign Auth

أرفق بيانات التوقيع على السلسلة من Provifier إلى مراجعة بشرية تمتلكها. يجعل المراجعة قابلة للتحقق من الناحية التشفيرية.

نص الطلب

{
  "tx_digest": "ABC123...",
  "data_hash": "sha256...",
  "chain": "sui"
}

الرد

{
  "review_id": 109,
  "signed": true,
  "tx_digest": "ABC123...",
  "chain": "sui",
  "data_hash": "sha256..."
}
GET /review/history?page=1&limit=20 Auth

احصل على سجل مراجعات المستخدم المصرح، مع ترقيم الصفحات.

المعاملات

ParamTypeDefaultDescription
pageint1Page number
limitint20Results per page (max 50)

الرد

{
  "reviews": [...],
  "total": 45,
  "page": 1,
  "limit": 20,
  "pages": 3
}
GET /user/profile Auth

احصل على ملف المستخدم المصرح، رصيد الائتمان، ومعلومات الاشتراك.

الرد

{
  "user": {
    "id": 1,
    "email": "user@example.com",
    "role": "user",
    "credit_balance": 500,
    "member_since": "2025-01-15 10:00:00",
    "total_reviews": 23,
    "wallet_address": null
  }
}

نقاط نهاية الأداة

عام، لا يتطلب مصادقة. يتم تخزين الردود مؤقتًا لمدة 5 دقائق. استخدمها لتضمين بيانات مراجعات Rexiew على المواقع الخارجية.

GET /widget/thing/{id}/badge

بيانات الشارة الخفيفة: متوسط التقييم وعدد المراجعات. مثالية للعرض المضمن.

الرد

{
  "thing_id": 42,
  "name": "iPhone 16 Pro",
  "avg_rating": 4.3,
  "review_count": 7,
  "branding": {
    "text": "Powered by Rexiew",
    "url": "https://rexiew.com/thing/iphone-16-pro",
    "logo": "https://rexiew.com/img/favicon/favicon-32x32.png"
  }
}
GET /widget/thing/{id}/summary

ملخص يتضمن أفضل 3 مقتطفات من المراجعات والنقاط الممتوسطة للأبعاد. مناسب لأداة الشريط الجانبي.

الرد

{
  "thing_id": 42,
  "name": "iPhone 16 Pro",
  "type": "product",
  "avg_rating": 4.3,
  "review_count": 7,
  "dimensions": [
    {"label": "Build Quality", "score": 4.8}
  ],
  "snippets": [
    {
      "review_id": 101,
      "llm_name": "Claude Opus 4.6",
      "rating": 4.5,
      "snippet": "The iPhone 16 Pro represents a significant...",
      "reviewer_type": "ai",
      "verified": false,
      "on_chain": false,
      "created_at": "2025-06-02 09:30:00"
    }
  ],
  "branding": {...}
}
GET /widget/thing/{id}

حمولة عنصر واجهة المستخدم الكامل: جميع التقييمات مع الإيجابيات والسلبيات والبدائل والأبعاد والشارات وردود المالك.

الرد

{
  "thing_id": 42,
  "name": "iPhone 16 Pro",
  "type": "product",
  "website": "https://apple.com/iphone-16-pro",
  "avg_rating": 4.3,
  "review_count": 7,
  "dimensions": [...],
  "reviews": [
    {
      "review_id": 101,
      "model_id": 19,
      "llm_name": "Claude Opus 4.6",
      "rating": 4.5,
      "review": "...",
      "pros": ["..."],
      "cons": ["..."],
      "alternatives": [...],
      "reviewer_type": "ai",
      "badges": ["ai"],
      "dimensions": [
        {"label": "Build Quality", "score": 4.8}
      ],
      "created_at": "2025-06-02 09:30:00"
    }
  ],
  "branding": {...}
}
GET /widget/lookup?source={source}&external_id={id}

أوجد شيئاً بمرجع خارجي. مفيد للتكاملات التي تربط معرّفاتها الخاصة برمز Rexiew الخاص بهم.

المعاملات

ParamTypeDescription
sourcestringIntegration source (e.g. "d1rectory")
external_idstringExternal ID in the source system

الرد

{
  "thing_id": 42
}

دليل دمج Smartlink

أضف بطاقات مراجعة قابلة للتمرير إلى أي موقع ويب باستخدام علامة نصية واحدة وسمات البيانات. لا توجد حاجة لمفتاح API.

1. أضف البرنامج النصي

Include the smartlink widget script on your page (ideally before </body>):

<script src="https://rexiew.com/widget/smartlink.js" defer></script>

2. ضع علامات على روابطك

Use data-rexiew (slug) or data-rexiew-q (name) on any element:

<!-- By slug (recommended, stable) -->
<a data-rexiew="iphone-16-pro">iPhone 16 Pro</a>

<!-- By name (flexible, fuzzy matching) -->
<a data-rexiew-q="Tesla Model 3">Tesla Model 3</a>

3. هذا كل شيء

يقوم السكريبت تلقائياً بالبحث عن جميع العناصر المحددة وجلب بيانات المراجعات من Rexiew API واستبدال كل رابط بشارة مضمنة. عند التمرير (على سطح المكتب) أو النقر (على الجوال)، تظهر بطاقة توضح:

  • اسم الشيء ونوعه
  • تصنيف النجوم والدرجة
  • عدد التقييمات
  • الوصف
  • مقتطف مراجعة ذكية أحدث
  • رابط إلى المراجعات الكاملة على Rexiew

مثال كامل

<!DOCTYPE html>
<html>
<body>
  <p>
    We compared the <a data-rexiew="iphone-16-pro">iPhone 16 Pro</a>
    against the <a data-rexiew-q="Samsung Galaxy S25 Ultra">Galaxy S25 Ultra</a>
    and found both to be excellent choices.
  </p>
  <script src="https://rexiew.com/widget/smartlink.js" defer></script>
</body>
</html>

دعم تطبيقات الصفحة الواحدة

For single-page apps that add content dynamically, call RexiewSmartlink.init() after inserting new elements:

// After dynamically adding data-rexiew elements
RexiewSmartlink.init();

مثال البدء السريع

أنشئ أول مراجعة ذكية لك في 3 استدعاءات API:

# 1. Login
curl -X POST https://rexiew.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"yourpassword"}'

# 2. Resolve the thing (optional pre-step)
curl -X POST https://rexiew.com/api/review/resolve \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"thing_name":"iPhone 16 Pro","thing_type":"product"}'

# 3. Generate review with Claude Opus 4.6
curl -X POST https://rexiew.com/api/review/generate \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"thing_name":"iPhone 16 Pro","thing_type":"product","model_id":19}'