オンライン書店の書籍カタログを管理し、ユーザーの購買フローを定義するためのALPSプロファイル。このプロファイルはRESTfulなAPIとUIの両方のためのセマンティクス定義を提供します。
<?xml version="1.0" encoding="UTF-8"?>
<alps
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://alps-io.github.io/schemas/alps.xsd">
<title>ALPS Book Store</title>
<doc>オンライン書店の書籍カタログを管理し、ユーザーの購買フローを定義するためのALPSプロファイル。このプロファイルはRESTfulなAPIとUIの両方のためのセマンティクス定義を提供します。</doc>
<link href="https://github.com/example/online-bookstore-api/issues" rel="issue"/>
<!-- オントロジー -->
<descriptor id="id" def="https://schema.org/identifier" title="識別子" tag="core">
<doc>各リソースの一意の識別子。UUIDまたは自動採番された整数値。</doc>
</descriptor>
<descriptor id="title" def="https://schema.org/name" title="タイトル" tag="catalog">
<doc>書籍のタイトルまたはカテゴリー名。200文字以内の文字列。</doc>
</descriptor>
<descriptor id="author" def="https://schema.org/author" title="著者" tag="catalog">
<doc>書籍の著者名。複数の著者がいる場合はカンマ区切りで記載。</doc>
</descriptor>
<descriptor id="isbn" def="https://schema.org/isbn" title="ISBN" tag="catalog">
<doc>書籍の国際標準図書番号。ISBN-13形式(ハイフン付き)で記載。</doc>
</descriptor>
<descriptor id="price" def="https://schema.org/price" title="価格" tag="commerce">
<doc>書籍の販売価格。税抜き価格で、通貨単位は円(JPY)。</doc>
</descriptor>
<descriptor id="category" def="https://schema.org/category" title="カテゴリー" tag="catalog">
<doc>書籍のジャンルまたはカテゴリー。複数のカテゴリーに属する場合あり。</doc>
</descriptor>
<descriptor id="quantity" def="https://schema.org/quantityValue" title="数量" tag="commerce">
<doc>カート内の書籍の数量。1以上の整数値。</doc>
</descriptor>
<descriptor id="totalAmount" def="https://schema.org/totalPrice" title="合計金額" tag="commerce">
<doc>注文またはカート内の全商品の合計金額。税込み表示。</doc>
</descriptor>
<descriptor id="userName" def="https://schema.org/name" title="ユーザー名" tag="customer">
<doc>注文者の氏名。姓名をスペースで区切って記載。</doc>
</descriptor>
<descriptor id="userEmail" def="https://schema.org/email" title="メールアドレス" tag="customer">
<doc>注文者の連絡先メールアドレス。注文確認メールの送信先となる。</doc>
</descriptor>
<descriptor id="shippingAddress" def="https://schema.org/address" title="配送先住所" tag="shipping">
<doc>商品の配送先住所。郵便番号、都道府県、市区町村、番地、建物名等を含む。</doc>
</descriptor>
<descriptor id="paymentMethod" def="https://schema.org/paymentMethod" title="支払い方法" tag="payment">
<doc>注文の支払い方法。クレジットカード、代金引換、銀行振込等から選択。</doc>
</descriptor>
<descriptor id="query" title="検索クエリ" tag="catalog">
<doc>書籍検索に使用するキーワードや条件。タイトル、著者名、ISBNなどで検索可能。</doc>
</descriptor>
<!-- タクソノミー -->
<descriptor id="Home" title="ホーム画面" tag="navigation">
<doc>アプリケーションの開始点となるホーム画面。サイト全体のナビゲーションとプロモーション情報を表示。</doc>
<descriptor href="#goToCatalog"/>
<descriptor href="#goToCart"/>
</descriptor>
<descriptor id="Catalog" def="https://schema.org/CollectionPage" title="書籍カタログ" tag="catalog">
<doc>全書籍の一覧表示画面。カテゴリー別フィルタリングやキーワード検索、ソート機能を提供。デフォルトでは新着順に表示。</doc>
<descriptor href="#goListBooks"/>
<descriptor href="#goSearchBooks"/>
<descriptor href="#goGetCategories"/>
<descriptor href="#goToBookDetails"/>
<descriptor href="#goToCart"/>
<descriptor href="#Book"/>
</descriptor>
<descriptor id="Book" def="https://schema.org/Book" title="書籍" tag="catalog">
<doc>個別の書籍情報を表示する画面。詳細情報、レビュー、関連書籍などを表示。この画面からカートに追加可能。</doc>
<descriptor href="#id"/>
<descriptor href="#title"/>
<descriptor href="#author"/>
<descriptor href="#isbn"/>
<descriptor href="#price"/>
<descriptor href="#category"/>
<descriptor href="#doAddToCart"/>
<descriptor href="#goToCatalog"/>
</descriptor>
<descriptor id="Category" def="https://schema.org/Category" title="カテゴリー" tag="catalog">
<doc>書籍のジャンル分類。階層構造を持ち、親カテゴリーと子カテゴリーが存在する場合がある。</doc>
<descriptor href="#id"/>
<descriptor href="#title"/>
</descriptor>
<descriptor id="ShoppingCart" def="https://schema.org/ShoppingCart" title="ショッピングカート" tag="cart">
<doc>ユーザーが購入予定の書籍が入るカート。数量変更、削除、合計金額の確認ができる。セッションベースで管理。</doc>
<descriptor href="#goListCartItems"/>
<descriptor href="#doUpdateQuantity"/>
<descriptor href="#doRemoveFromCart"/>
<descriptor href="#goToCheckout"/>
<descriptor href="#goToCatalog"/>
</descriptor>
<descriptor id="Checkout" title="決済画面" tag="checkout">
<doc>購入手続き画面。ユーザー情報、配送先、支払い方法を入力する。注文確定前に最終確認を表示。</doc>
<descriptor href="#doUserInfo"/>
<descriptor href="#doShippingInfo"/>
<descriptor href="#doPaymentInfo"/>
<descriptor href="#doPlaceOrder"/>
<descriptor href="#goToCart"/>
</descriptor>
<descriptor id="OrderConfirmation" title="注文確認画面" tag="order">
<doc>注文完了後の確認画面。注文番号、合計金額、配送予定日等の情報を表示。確認メールが自動送信される。</doc>
<descriptor href="#goOrderDetails"/>
<descriptor href="#goToHome"/>
</descriptor>
<!-- コレオグラフィー -->
<descriptor id="goToHome" type="safe" rt="#Home" title="ホーム画面に移動">
<doc>アプリケーションのホーム画面に遷移する。どの画面からでもアクセス可能。</doc>
</descriptor>
<descriptor id="goToCatalog" type="safe" rt="#Catalog" title="カタログ画面に移動">
<doc>書籍カタログ一覧画面に遷移する。全書籍が表示される。</doc>
</descriptor>
<descriptor id="goToBookDetails" type="safe" rt="#Book" title="書籍詳細画面に移動">
<doc>選択した書籍の詳細情報画面に遷移する。書籍IDを指定する必要がある。</doc>
<descriptor href="#id"/>
</descriptor>
<descriptor id="goToCart" type="safe" rt="#ShoppingCart" title="カート画面に移動">
<doc>現在のショッピングカートの内容を表示する画面に遷移する。</doc>
</descriptor>
<descriptor id="goToCheckout" type="safe" rt="#Checkout" title="決済画面に移動">
<doc>カートの内容を確認し、購入手続きを行う画面に遷移する。カートが空の場合は遷移できない。</doc>
</descriptor>
<descriptor id="goListBooks" type="safe" rt="#Catalog" rel="collection" title="書籍一覧の取得" tag="catalog">
<doc>カタログ内のすべての書籍一覧を取得する。ページネーション(デフォルト20件/ページ)やソート順(新着順、価格順、人気順等)の指定が可能。</doc>
</descriptor>
<descriptor id="goSearchBooks" type="safe" rt="#Catalog" rel="collection" title="書籍の検索" tag="catalog">
<doc>指定された検索クエリに基づいて書籍を検索する。タイトル、著者名、内容説明、ISBNなどの複数フィールドから検索可能。</doc>
<descriptor href="#query"/>
</descriptor>
<descriptor id="goGetCategories" type="safe" rt="#Catalog" rel="collection" title="カテゴリー一覧の取得" tag="catalog">
<doc>利用可能なすべての書籍カテゴリーの一覧を取得する。階層構造を持つカテゴリーの場合は親子関係も返される。</doc>
</descriptor>
<descriptor id="goGetBookDetails" type="safe" rt="#Book" rel="item" title="書籍詳細の取得" tag="catalog">
<doc>指定された書籍IDに基づいて、特定の書籍の詳細情報を取得する。在庫状況や関連書籍の情報も含まれる。</doc>
<descriptor href="#id"/>
</descriptor>
<descriptor id="doAddToCart" type="unsafe" rt="#ShoppingCart" rel="collection" title="カートに追加" tag="cart">
<doc>指定された書籍をショッピングカートに追加する。既にカートに存在する場合は数量が加算される。在庫数を超える注文はエラーとなる。</doc>
<descriptor href="#id"/>
<descriptor href="#quantity"/>
</descriptor>
<descriptor id="goListCartItems" type="safe" rt="#ShoppingCart" rel="collection" title="カート内アイテム一覧の取得" tag="cart">
<doc>現在のショッピングカート内のすべての商品と、その数量、小計、合計金額を取得する。</doc>
</descriptor>
<descriptor id="doUpdateQuantity" type="idempotent" rt="#ShoppingCart" title="カート内アイテムの数量更新" tag="cart">
<doc>カート内の特定商品の数量を更新する。0以下の数値は指定できない。在庫数を超える数量はエラーとなる。</doc>
<descriptor href="#id"/>
<descriptor href="#quantity"/>
</descriptor>
<descriptor id="doRemoveFromCart" type="idempotent" rt="#ShoppingCart" title="カートからアイテムを削除" tag="cart">
<doc>指定されたアイテムをカートから完全に削除する。該当アイテムがカートに存在しない場合は何も変更されない。</doc>
<descriptor href="#id"/>
</descriptor>
<descriptor id="doUserInfo" type="unsafe" rt="#Checkout" title="ユーザー情報の入力" tag="customer">
<doc>注文者の氏名とメールアドレスを入力する。メールアドレスは正規表現による検証が行われる。</doc>
<descriptor href="#userName"/>
<descriptor href="#userEmail"/>
</descriptor>
<descriptor id="doShippingInfo" type="unsafe" rt="#Checkout" title="配送情報の入力" tag="shipping">
<doc>商品の配送先住所を入力する。郵便番号検索による住所自動入力機能あり。</doc>
<descriptor href="#shippingAddress"/>
</descriptor>
<descriptor id="doPaymentInfo" type="unsafe" rt="#Checkout" title="支払い情報の入力" tag="payment">
<doc>注文の支払い方法を選択し、必要な支払い情報を入力する。クレジットカード選択時はカード情報の入力と検証を行う。</doc>
<descriptor href="#paymentMethod"/>
</descriptor>
<descriptor id="doPlaceOrder" type="unsafe" rt="#OrderConfirmation" title="注文の確定" tag="order">
<doc>ユーザーの入力情報を基に注文を確定し、注文確認画面に遷移する。支払い処理が実行され、在庫が確保される。この操作は取り消せない。</doc>
</descriptor>
<descriptor id="goOrderDetails" type="safe" rt="#OrderConfirmation" title="注文詳細の表示" tag="order">
<doc>確定した注文の詳細情報を表示する。注文番号、購入商品一覧、合計金額、配送先、支払い方法などが含まれる。</doc>
</descriptor>
</alps>