Rexiew API를 사용하여 검색, 리뷰 읽기, AI 리뷰 생성, 인간 리뷰 제출, 모든 사이트에 리뷰 위젯 임베드할 수 있습니다. 모든 응답은 JSON입니다.
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"
}
| Code | Meaning |
|---|---|
| 400 | Bad request / validation error |
| 401 | Unauthorized / invalid token |
| 402 | Insufficient credits |
| 403 | Forbidden / tier too low |
| 404 | Resource not found |
| 409 | Conflict (duplicate) |
| 410 | Model retired |
| 429 | Rate limit exceeded |
| 502 | Upstream LLM error |
인증이 필요하지 않습니다.
/health
API가 실행 중인지 확인합니다.
{
"status": "ok",
"service": "Rexiew API",
"version": "1.0.0"
}
/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"
}
/things/search?q={query}
이름으로 제품을 검색합니다. 리뷰 수로 정렬된 최대 20개의 결과를 반환합니다.
| Param | Type | Description |
|---|---|---|
q | string | Search query (min 2 chars) |
{
"things": [
{
"id": 42,
"name": "iPhone 16 Pro",
"type": "product",
"review_count": 7,
"avg_rating": 4.3
}
]
}
/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"
}
]
}
/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"
}
/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.
/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
}
}
/auth/register
새 계정을 만듭니다. 비밀번호는 최소 10자 이상이어야 합니다.
{
"email": "newuser@example.com",
"password": "securepassword"
}
{
"access_token": "eyJ...",
"refresh_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 3600,
"user": {
"id": 2,
"email": "newuser@example.com",
"role": "user",
"credit_balance": 0
}
}
/auth/refresh
유효한 리프레시 토큰을 새로운 액세스 및 리프레시 토큰으로 교환합니다.
{
"refresh_token": "eyJ..."
}
{
"access_token": "eyJ...",
"refresh_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 3600
}
/review/resolve
Auth
리뷰 생성 전 사전 단계입니다. 사용자 입력을 데이터베이스의 기존 항목으로 해결하거나 새로운 항목 생성을 제안합니다. 내부적으로 AI 모델을 사용하여 매칭합니다.
{
"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
}
/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"
}
| Field | Type | Required | Description |
|---|---|---|---|
thing_name | string | Yes* | Name of the thing to review (max 255 chars) |
thing_type | string | No | product, service, place, brand, or other |
model_id | int | Yes | 19 (Opus 4.6) or 25 (GPT 5.4) |
thing_id | int | No | If provided, skips resolver and uses this thing directly |
thing_description | string | No | Description override for new things (max 255 chars) |
review_aspect | string | No | Aspect to focus on (e.g. "affiliate-program", "pricing"). Defaults to "general" |
* Required if thing_id is not provided.
{
"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
}
/review/human
Auth
사용자가 작성한 리뷰를 제출하세요. 사용자 당 제품 당 1일 1회로 제한됩니다. 선택적으로 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..."
}
{
"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": "{...}"
}
/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..."
}
/review/history?page=1&limit=20
Auth
인증된 사용자의 리뷰 기록을 페이지 나누어 가져오기.
| Param | Type | Default | Description |
|---|---|---|---|
page | int | 1 | Page number |
limit | int | 20 | Results per page (max 50) |
{
"reviews": [...],
"total": 45,
"page": 1,
"limit": 20,
"pages": 3
}
/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
}
}
/auth/wallet-link
Auth
블록체인 지갑 주소를 계정에 연결하여 Blockinity 검증을 받으세요.
{
"wallet_address": "0x..."
}
{
"wallet_address": "0x...",
"linked": true
}
공개, 인증 불필요. 응답은 5분 동안 캐시됩니다. 외부 사이트에 Rexiew 리뷰 데이터를 임베드하는 데 사용하세요.
/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"
}
}
/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": {...}
}
/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": {...}
}
/widget/lookup?source={source}&external_id={id}
외부 참조로 항목을 찾으세요. 자신의 ID를 Rexiew thing ID로 매핑하는 통합에 유용합니다.
| Param | Type | Description |
|---|---|---|
source | string | Integration source (e.g. "d1rectory") |
external_id | string | External ID in the source system |
{
"thing_id": 42
}
/widget/smartlink?q={name}
항목 이름이나 슬러그로 간단히 조회합니다. 인라인 호버 가능한 리뷰 카드(스마트링크)용 컴팩트 데이터를 반환합니다. 콘텐츠에 리뷰 배지를 삽입하기에 이상적입니다.
| Param | Type | Description |
|---|---|---|
q | string | Thing name (exact match, then fuzzy fallback) |
slug | string | Thing slug (alternative to q) |
Provide either q or slug, not both.
{
"thing_id": 42,
"name": "iPhone 16 Pro",
"slug": "iphone-16-pro",
"type": "product",
"description": "Apple's premium smartphone with...",
"avg_rating": 4.3,
"review_count": 7,
"snippet": {
"llm_name": "Claude Opus 4.6",
"rating": 4.5,
"text": "The iPhone 16 Pro represents a significant..."
},
"url": "https://rexiew.com/thing/iphone-16-pro",
"branding": {
"text": "Powered by Rexiew",
"url": "https://rexiew.com/thing/iphone-16-pro",
"logo": "https://rexiew.com/img/favicon/favicon-32x32.png"
}
}
단일 스크립트 태그와 데이터 속성으로 모든 웹사이트에 호버 가능한 리뷰 카드를 추가하세요. API 키가 필요하지 않습니다.
Include the smartlink widget script on your page (ideally before </body>):
<script src="https://rexiew.com/widget/smartlink.js" defer></script>
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>
스크립트가 자동으로 표시된 모든 요소를 찾고 Rexiew API에서 리뷰 데이터를 가져온 후 각 링크를 인라인 배지로 바꿉니다. 호버(데스크톱) 또는 클릭(모바일)시 다음을 표시하는 카드가 팝업됩니다:
<!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 호출로 첫 AI 리뷰 생성:
# 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}'