🤖 請求書生成ワークフローの実行
はじめに
このAPIは、ユーザーがPOSTリクエストを介して情報を送信できるようにし、n8nがその情報に基づいて自動的に請求書を生成します。APIはコンテンツを処理し、提供されたモデルに基づいて分析結果を返します。
Analyze Transaction
エンドポイント
以下のエンドポイントを使用して、請求書生成のためにコンテンツを送信します:
POST https://n8n.lchatai.com/execute/analyze-transaction
ヘッダー
APIには以下のヘッダーが必要です:
X-N8N-API-KEY- 認証用のn8n APIキーContent-Type: multipart/form-data
リクエストパラメータ
APIは以下のパラメータを multipart/form-data フィールドとして期待しています:
-
model(string) - 使用するAIモデル。受け入れられる値:プロバイダー モデル OpenAI gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-3.5-turbo,gpt-4.1,gpt-4.1-mini,gpt-4.1-nano,gpt-5.2,gpt-5.2-pro,gpt-5,gpt-5-mini,gpt-5-nanoGemini gemini-2.5-flash,gemini-2.5-pro,gemini-2.5-flash-lite,gemini-3-flash-preview,gemini-3.1-pro-previewClaude claude-sonnet-4-6,claude-opus-4-6,claude-opus-4-5-20251101,claude-haiku-4-5-20251001,claude-sonnet-4-5-20250929,claude-opus-4-1-20250805,claude-opus-4-20250514,claude-sonnet-4-20250514 -
prompt(string) - 請求書生成のために提供する特定のプロンプト。 -
llmKey(string) - 選択したモデルのAPIキー。 -
content(string) - テキストとして請求書生成に使用する情報。fileフィールドでファイルをアップロードする場合は空("")のままにしてください。 -
file(file) - 請求書生成の基となるPDFまたはドキュメントファイル。contentフィールドを使用する場合は空("")のままにしてください。
警告
リクエストごとに content または file のいずれか一方のみを指定する必要があります。テキストを送信する場合は file="" を渡してください。ファイルをアップロードする場合は content="" を渡してください。
リクエストの例
- Bash
- Javascript
- Python
- Php
Text Content
curl --location 'https://n8n.lchatai.com/execute/analyze-transaction' \
--header 'X-N8N-API-KEY: ey*********' \
--form 'model="gpt-4o-mini"' \
--form 'prompt="..."' \
--form 'content="Invoice information text here..."' \
--form 'llmKey="sk-proj-ERa23*******"' \
--form 'file=""'
File Upload
curl --location 'https://n8n.lchatai.com/execute/analyze-transaction' \
--header 'X-N8N-API-KEY: ey*********' \
--form 'model="gpt-4o-mini"' \
--form 'prompt="..."' \
--form 'content=""' \
--form 'llmKey="sk-proj-ERa23*******"' \
--form 'file=@"/path/to/invoice.pdf"'
Text Content
// Text Content mode
const formData = new FormData();
formData.append('model', 'gpt-4o-mini');
formData.append('prompt', '...');
formData.append('content', 'Invoice information text here...');
formData.append('llmKey', 'sk-proj-ERa23*******');
formData.append('file', '');
fetch('https://n8n.lchatai.com/execute/analyze-transaction', {
method: 'POST',
headers: { 'X-N8N-API-KEY': 'ey*********' },
body: formData
})
.then(response => response.json())
.then(data => console.log(data));
File Upload
// File Upload mode
const formData = new FormData();
formData.append('model', 'gpt-4o-mini');
formData.append('prompt', '...');
formData.append('content', '');
formData.append('llmKey', 'sk-proj-ERa23*******');
formData.append('file', fileInput.files[0]); // File object from <input type="file">
fetch('https://n8n.lchatai.com/execute/analyze-transaction', {
method: 'POST',
headers: { 'X-N8N-API-KEY': 'ey*********' },
body: formData
})
.then(response => response.json())
.then(data => console.log(data));
Text Content
import requests
url = "https://n8n.lchatai.com/execute/analyze-transaction"
headers = { "X-N8N-API-KEY": "ey*********" }
# Text Content mode
data = {
"model": "gpt-4o-mini",
"prompt": "...",
"content": "Invoice information text here...",
"llmKey": "sk-proj-ERa23*******",
"file": ""
}
response = requests.post(url, headers=headers, data=data)
print(response.json())
File Upload
import requests
url = "https://n8n.lchatai.com/execute/analyze-transaction"
headers = { "X-N8N-API-KEY": "ey*********" }
# File Upload mode
data = {
"model": "gpt-4o-mini",
"prompt": "...",
"content": "",
"llmKey": "sk-proj-ERa23*******"
}
files = { "file": open("/path/to/invoice.pdf", "rb") }
response = requests.post(url, headers=headers, data=data, files=files)
print(response.json())
Text Content
<?php
// Text Content mode
$url = "https://n8n.lchatai.com/execute/analyze-transaction";
$headers = ["X-N8N-API-KEY: ey*********"];
$data = [
"model" => "gpt-4o-mini",
"prompt" => "...",
"content" => "Invoice information text here...",
"llmKey" => "sk-proj-ERa23*******",
"file" => ""
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);
curl_close($ch);
?>
File Upload
<?php
// File Upload mode
$url = "https://n8n.lchatai.com/execute/analyze-transaction";
$headers = ["X-N8N-API-KEY: ey*********"];
$data = [
"model" => "gpt-4o-mini",
"prompt" => "...",
"content" => "",
"llmKey" => "sk-proj-ERa23*******",
"file" => new CURLFile("/path/to/invoice.pdf")
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);
curl_close($ch);
?>
レスポンス
レスポンスボディには以下の2つのキーが含まれています:
response(string): 提供された情報に基づいて生成された請求書の結果。execution_id(integer): 請求書生成ワークフローの特定の実行に対する一意の識別子。
{
"response": ".....",
"execution_id": 778
}