L'API Rexiew vous permet de rechercher des éléments, de lire des avis, de générer des avis IA, de soumettre des avis humains et d'intégrer des widgets d'avis sur n'importe quel site. Toutes les réponses sont en JSON.
https://rexiew.com/api
Tous les points de terminaison sont relatifs à cette URL de base.
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 |
Aucune authentification requise.
/health
Vérifiez si l'API fonctionne.
{
"status": "ok",
"service": "Rexiew API",
"version": "1.0.0"
}
/models
Lister tous les modèles LLM avec les exigences de niveau et le statut actif. Si authentifié, inclut si chaque modèle est accessible pour votre niveau d'abonnement.
{
"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}
Recherchez des choses par nom. Retourne jusqu'à 20 résultats triés par nombre d'avis.
| 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}
Obtenez les détails d'une chose et tous ses avis.
{
"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}
Obtenez les détails complets de l'avis, y compris les avantages, les inconvénients, les alternatives, les scores dimensionnels et le statut de vérification on-chain.
{
"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
Vérifiez la preuve on-chain d'un avis humain signé via 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
Authentifiez-vous avec email et mot de passe. Retourne les tokens JWT d'accès et de rafraîchissement.
{
"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
Créez un nouveau compte. Le mot de passe doit contenir au moins 10 caractères.
{
"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
Échangez un jeton d'actualisation valide contre de nouveaux jetons d'accès et d'actualisation.
{
"refresh_token": "eyJ..."
}
{
"access_token": "eyJ...",
"refresh_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 3600
}
/review/resolve
Auth
Étape préalable avant la génération d'un avis. Résout l'entrée de l'utilisateur en quelque chose d'existant dans la base de données ou suggère d'en créer un nouveau. Utilise un modèle d'IA en interne pour la correspondance.
{
"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
Soumettez un avis écrit par un humain. Limité à 1 par chose par utilisateur par jour. Incluez éventuellement une adresse de portefeuille pour la vérification 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
Joignez les données de signature on-chain Provifier à un avis humain que vous possédez. Rend l'avis cryptographiquement vérifiable.
{
"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
Obtenez l'historique des avis de l'utilisateur authentifié, paginé.
| 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
Obtenez le profil, le solde de crédits et les informations d'abonnement de l'utilisateur authentifié.
{
"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
Liez une adresse de portefeuille blockchain à votre compte pour la vérification Blockinity.
{
"wallet_address": "0x..."
}
{
"wallet_address": "0x...",
"linked": true
}
Public, aucune authentification requise. Les réponses sont mises en cache pendant 5 minutes. Utilisez-les pour intégrer les données d'avis Rexiew sur des sites externes.
/widget/thing/{id}/badge
Données de badge léger : note moyenne et nombre d'avis. Idéal pour un affichage en ligne.
{
"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
Résumé avec les 3 meilleurs extraits d'avis et scores dimensionnels moyens. Idéal pour les widgets de barre latérale.
{
"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}
Charge utile complète du widget : tous les avis avec points positifs, points négatifs, alternatives, dimensions, badges et réponses du propriétaire.
{
"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}
Trouver une chose par référence externe. Utile pour les intégrations qui mappent leurs propres ID aux ID de choses Rexiew.
| 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}
Recherche légère par nom ou slug de chose. Retourne des données compactes pour les cartes d'avis en survol en ligne (smartlinks). Idéal pour intégrer des badges d'avis dans le contenu.
| 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"
}
}
Ajoutez des cartes d'avis survolables à n'importe quel site avec une seule balise de script et des attributs de données. Aucune clé API requise.
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>
Le script trouve automatiquement tous les éléments marqués, récupère les données d'avis de l'API Rexiew et remplace chaque lien par un badge intégré. Au survol (bureau) ou au clic (mobile), une carte s'affiche avec :
<!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();
Générez votre premier avis IA en 3 appels 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}'