Skip to content

スタートガイド

このガイドでは、環境のセットアップからDocMap APIでの最初の抽出リクエストの実行までを説明します。

前提条件

始める前に、以下を確認してください:

  1. DocMapアカウント -- まだアカウントをお持ちでない場合は、docmap.ioでサインアップしてください。
  2. 1つ以上の抽出テンプレート -- ドキュメントから抽出したいフィールドを定義するテンプレートをダッシュボードで作成してください。

TIP

テンプレートは抽出したいデータの構造を定義します。例えば、請求書テンプレートには vendor_nameinvoice_numbertotal_amountline_items 配列などのフィールドが含まれる場合があります。APIコールを行う前に、ダッシュボードからテンプレートを作成・管理できます。

ベースURL

すべてのAPIリクエストは以下のURLに対して行います:

https://api.docmap.io

すべてのエンドポイントには /v1/ プレフィックスが付きます。例えば、抽出エンドポイントは以下のとおりです:

https://api.docmap.io/v1/extractions/run

APIキーの作成

  1. ダッシュボード > 設定 > APIキー に移動します。
  2. APIキーを作成 をクリックします。
  3. キーにわかりやすい名前を付けます(例:「本番サーバー」や「ローカル開発」)。
  4. 有効期限を選択します。
  5. キーをすぐにコピーしてください -- 一度しか表示されず、後から取得することはできません。

WARNING

APIキーは安全に保管してください。作成時に一度だけ表示されます。紛失した場合は、新しいキーを作成する必要があります。

APIキーの形式は dm_live_... で、すべてのリクエストの Authorization ヘッダーで使用します。

最初のリクエスト

APIのヘルスチェックエンドポイントにアクセスして、セットアップを確認します:

bash
curl https://api.docmap.io/health
typescript
const res = await fetch('https://api.docmap.io/health')
const data = await res.json()
console.log(data) // { status: "ok" }
python
import requests
res = requests.get('https://api.docmap.io/health')
print(res.json())  # {"status": "ok"}

正常に動作している場合、以下のレスポンスが返されます:

json
{ "status": "ok" }

最初の抽出を実行する

APIキーとテンプレートの準備ができたら、PDFから構造化データを抽出できます。PDFファイルをbase64文字列にエンコードし、/v1/extractions/run エンドポイントに送信します。

bash
curl -X POST https://api.docmap.io/v1/extractions/run \
  -H "Authorization: Bearer dm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "your-template-id",
    "fileName": "invoice.pdf",
    "pdfBase64": "JVBERi0xLjQ...",
    "mimeType": "application/pdf"
  }'
typescript
const apiKey = process.env.DOCMAP_API_KEY

const response = await fetch('https://api.docmap.io/v1/extractions/run', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    templateId: 'your-template-id',
    fileName: 'invoice.pdf',
    pdfBase64: 'JVBERi0xLjQ...', // base64エンコードされたPDF
    mimeType: 'application/pdf',
  }),
})

const data = await response.json()
console.log(data)
python
import requests
import base64

api_key = "dm_live_your_api_key"

# PDFを読み込みエンコード
with open("invoice.pdf", "rb") as f:
    pdf_base64 = base64.b64encode(f.read()).decode("utf-8")

response = requests.post(
    "https://api.docmap.io/v1/extractions/run",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "templateId": "your-template-id",
        "fileName": "invoice.pdf",
        "pdfBase64": pdf_base64,
        "mimeType": "application/pdf",
    },
)

print(response.json())

レスポンス例

抽出が成功すると、テンプレートフィールドに一致する抽出データが返されます:

json
{
  "id": "ext_abc123",
  "templateId": "your-template-id",
  "fileName": "invoice.pdf",
  "status": "completed",
  "data": {
    "vendor_name": "Acme Corp",
    "invoice_number": "INV-2024-001",
    "invoice_date": "2024-11-15",
    "total_amount": 1250.00,
    "currency": "USD",
    "line_items": [
      {
        "description": "Widget A",
        "quantity": 10,
        "unit_price": 125.00
      }
    ]
  },
  "createdAt": "2024-11-20T14:30:00.000Z"
}

使用量の確認

プラン制限内に収まるよう、API使用量を監視します:

bash
curl https://api.docmap.io/v1/usage \
  -H "Authorization: Bearer dm_live_your_api_key"
typescript
const res = await fetch('https://api.docmap.io/v1/usage', {
  headers: { 'Authorization': `Bearer ${apiKey}` },
})
const usage = await res.json()
console.log(usage)
python
response = requests.get(
    "https://api.docmap.io/v1/usage",
    headers={"Authorization": f"Bearer {api_key}"},
)
print(response.json())

次のステップ

最初の抽出が完了したら、残りのドキュメントをご覧ください:

  • 認証 -- APIキーとセキュリティのベストプラクティスについて学びます。
  • APIリファレンス -- 利用可能なすべてのエンドポイントの完全なリファレンスです。

DocMap API ドキュメント