--- title: API Workflow Builder emoji: 🚀 colorFrom: purple colorTo: blue sdk: gradio sdk_version: "5.9.1" app_file: app.py pinned: false license: mit --- # 🚀 API Workflow Builder Visual page builder with API integration powered by GrapeJS and Supabase. ## 📋 概要 ドラッグ&ドロップでAPIワークフロー画面を構築できるビジュアルエディタ。 Shop11 APIと連携し、商品・顧客・査定データを簡単に操作できます。 ## ✨ 機能 ### 📦 ページビルダー - **ドラッグ&ドロップ**: GrapeJSベースの直感的なエディタ - **リアルタイムプレビュー**: 編集内容をその場で確認 - **Supabase連携**: ページデータをクラウドに保存 - **HTML出力**: 作成したページをHTMLファイルとしてダウンロード ### 🔌 APIブロック #### Shop11 API連携ブロック 1. **地金チェック削除** (`gold-check-delete`) - エンドポイント: `POST /api/shouhin/gold_check_id_delete` - 商品IDを指定して地金チェックを削除 2. **査定タイトル生成** (`satei-title`) - エンドポイント: `GET /api/satei_func/create_title/{product_id}` - 商品IDから査定タイトルを自動生成 3. **メール送信** (`send-notification`) - エンドポイント: `POST /api/notification/mail` - 宛先・件名・本文を指定してメール送信 4. **商品検索** (`product-search`) - エンドポイント: `GET /api/auto_complete_refasta/ResultSearch` - キーワードで商品を検索 5. **商品データテーブル** (`product-data-table`) - 商品データを検索してテーブル表示 - ソート・フィルタリング対応 6. **顧客検索テーブル** (`customer-data-table`) - 顧客名・電話番号で検索 - 顧客情報を一覧表示 7. **査定検索テーブル** (`satei-data-table`) - 査定データを検索・表示 - ステータス別バッジ表示 8. **商品登録フォーム** (`product-register-form`) - エンドポイント: `POST /api/shouhin/register` - 新規商品をフォームから登録 ### 💾 データ永続化 - **Supabase Tables**: - `page_builder_pages`: ページデータ保存 - `api_execution_logs`: API実行履歴ログ - **LocalStorage**: エディタの自動保存 ## 🚀 使い方 ### 1. アクセス ``` http://localhost/shop11/public/page-builder/ ``` ### 2. ブロックを追加 1. 左サイドバーから「Shop11 API」カテゴリを選択 2. 使いたいブロックをキャンバスにドラッグ&ドロップ 3. ブロック内の入力フォームに値を入力 4. ボタンをクリックしてAPI実行 ### 3. ページを保存 1. ヘッダーの「💾 保存」ボタンをクリック 2. ページ名を入力 3. Supabaseに保存 + HTMLファイルをダウンロード ### 4. ページを読込 1. ヘッダーの「📂 読込」ボタンをクリック 2. 過去に保存したページ一覧から選択 3. エディタに読み込まれます ### 5. プレビュー - 「👁️ プレビュー」ボタンで新しいタブで表示確認 ## 📁 ファイル構成 ``` page-builder/ ├── index.html # メインエディタ画面 ├── supabase-config.js # Supabase接続設定 ├── api-functions.js # API呼び出し関数 ├── .htaccess # Apache設定 └── README.md # このファイル ``` ## 🔧 技術スタック - **フロントエンド**: GrapeJS, Bootstrap 4.5.2, jQuery 3.5.1 - **バックエンド**: Laravel (Shop11), Supabase - **データベース**: PostgreSQL (Supabase) - **ストレージ**: Supabase Storage (将来実装予定) ## 🗄️ データベーススキーマ ### page_builder_pages ```sql CREATE TABLE page_builder_pages ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), name text NOT NULL, html_content text, css_content text, components_json jsonb, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); ``` ### api_execution_logs ```sql CREATE TABLE api_execution_logs ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), api_name text NOT NULL, endpoint text NOT NULL, request_data jsonb, response_data jsonb, status text CHECK (status IN ('success', 'error')), executed_at timestamp with time zone DEFAULT now() ); ``` ## 🔐 Supabase設定 ### 環境変数 - **SUPABASE_URL**: `https://rootomzbucovwdqsscqd.supabase.co` - **SUPABASE_ANON_KEY**: `eyJhbGci...` (supabase-config.jsに記載) ### RLS (Row Level Security) 現在はテスト用に全アクセス許可。本番環境では認証を追加してください。 ## 🎨 カスタマイズ ### 新しいAPIブロックを追加 1. **index.htmlに登録**: ```javascript blockManager.add('my-custom-block', { label: '新しいブロック', category: 'Shop11 API', content: '