@licht-77/dmm-sdk
Version:
DMM Affiliate API v3 SDK for Node.js/TypeScript
118 lines (88 loc) • 3.79 kB
Markdown
[](https://badge.fury.io/js/@licht-77%2Fdmm-sdk)
DMM Affiliate API v3 を TypeScript/JavaScript から簡単に利用するための非公式SDKです。
npm または yarn を使用してインストールします。
```bash
npm install @licht-77/dmm-sdk
```
API ID とアフィリエイト ID を指定してクライアントを初期化します。これらは DMM アフィリエイトの管理画面から取得できます。
```typescript
import { DmmApiClient } from '@licht-77/dmm-sdk';
const client = new DmmApiClient({
apiId: 'YOUR_API_ID', // あなたのAPI IDに置き換えてください
affiliateId: 'YOUR_AFFILIATE_ID', // あなたのアフィリエイト ID に置き換えてください
// baseUrl: 'https://api.dmm.com/affiliate/v3', // 任意: APIベースURL
});
```
```typescript
async function searchItems() {
try {
const params = {
site: 'FANZA', // 検索対象サイト ('DMM.com' | 'FANZA')
service: 'digital', // 検索対象サービス (任意)
floor: 'videoa', // 検索対象フロア (任意)
hits: 10, // 取得件数 (デフォルト: 20, 最大: 100)
offset: 1, // 検索開始位置 (デフォルト: 1)
sort: 'rank', // ソート順 (任意)
keyword: 'キーワード', // 検索キーワード (任意)
// 絞り込み(配列のみ対応)
article: ['genre', 'actress'],
article_id: ['6003', '15187'],
// ... その他、API仕様で定義されているパラメータ
};
const response = await client.getItemList(params);
console.log('検索結果:', response.items);
console.log('総件数:', response.total_count);
} catch (error) {
console.error('商品検索エラー:', error);
}
}
searchItems();
```
補足: `article`/`article_id` は配列のみ対応です。SDKはクエリを `article[0]=genre&article[1]=actress&article_id[0]=6003&article_id[1]=15187` の形式でエンコードします。
```typescript
async function getFloors() {
try {
const response = await client.getFloorList();
console.log('フロア一覧:', response.site);
} catch (error) {
console.error('フロア一覧取得エラー:', error);
}
}
getFloors();
```
女優検索 (`searchActress`), ジャンル検索 (`searchGenre`), メーカー検索 (`searchMaker`), シリーズ検索 (`searchSeries`), 作者検索 (`searchAuthor`) も同様の形式で利用できます。
```typescript
// 例: 女優検索
async function searchActresses() {
try {
const params = {
initial: 'あ', // 頭文字 (任意)
actress_id: '12345', // 女優ID (任意)
keyword: '女優名', // キーワード (任意)
hits: 5,
offset: 1,
};
const response = await client.searchActress(params);
console.log('女優検索結果:', response.actress);
} catch (error) {
console.error('女優検索エラー:', error);
}
}
searchActresses();
```
各APIの詳細なパラメータについては、[DMM Affiliate API v3 の公式ドキュメント](https://affiliate.dmm.com/api/)を参照してください。
各APIのリクエストパラメータとレスポンスの型定義も提供されています。TypeScriptプロジェクトで型チェックの恩恵を受けることができます。
```typescript
import { ItemListRequestParams, ItemListResponse, Item } from '@licht-77/dmm-sdk';
```
[](./LICENSE)