ponshu-room-lite/docs/sakenowa_api_integration.md

92 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# さけのわAPI連携ドキュメント
## 概要
Ponshu Room LiteはさけのわSakenowaAPIを活用し、日本酒ランキング・ブランド情報・フレーバーチャートを取得しています。
---
## API エンドポイント
| エンドポイント | 説明 | 更新頻度 |
|:---------------|:-----|:---------|
| `/rankings` | TOP100ランキング | 毎日 |
| `/brands` | 銘柄マスタ16,000件以上 | 週次 |
| `/flavor-charts` | 6軸フレーバーチャート | 週次 |
---
## データモデル
### SakenowaRanking
```dart
class SakenowaRanking {
final int rank; // 順位
final String brandId; // 銘柄ID
}
```
### SakenowaBrand
```dart
class SakenowaBrand {
final String id; // 銘柄ID
final String name; // 銘柄名
}
```
### SakenowaFlavorChart
```dart
class SakenowaFlavorChart {
final String brandId;
final double f1; // 華やか (0-1)
final double f2; // 芳醇
final double f3; // 重厚
final double f4; // 穏やか
final double f5; // 軽快
final double f6; // ドライ
}
```
---
## Riverpodプロバイダー
```dart
// lib/providers/sakenowa_providers.dart
final sakenowaRankingsProvider = FutureProvider<List<SakenowaRanking>>();
final sakenowaBrandsProvider = FutureProvider<List<SakenowaBrand>>();
final sakenowaFlavorChartsProvider = FutureProvider<List<SakenowaFlavorChart>>();
```
---
## 実装済み機能
### 1. ソムリエ画面
- **SakenowaNewRecommendationSection**: コサイン類似度で未飲銘柄を推薦
- **SakenowaRankingSection**: 3Dカルーセルでランキング表示、既飲ハイライト+MBTI相性
### 2. MBTI相性計算
```dart
// 6軸フレーバー → 5軸五味へのマッピング
f1(華やか) aroma
f2(芳醇)+f4(穏やか) sweetness
f3(重厚) body
f5(軽快) acidity
f6(ドライ) bitterness
```
---
## 未実装/改善予定
| 項目 | 状態 |
|:-----|:-----|
| カード詳細画面でのさけのわ連携おすすめ | ❌ 未実装 |
| ランキングカードから詳細画面遷移 | ❌ 未実装 |
| オフラインキャッシュ | ✅ 実装済み |
---
## 帰属表示
データ提供: さけのわ (https://sakenowa.com)