Macaaw PDF API
圧縮・変換・署名のための PDF API
20 個の PDF ツールと電子署名を 1 つの REST API で。すべてのタスクはロンドンにある当社サーバーで実行され、ファイルは 2 時間以内に削除されます。
- OpenAPI 3.1
- Postman コレクション
- 無料のサンドボックス
- 署名付き Webhook
curl https://macaaw.com/public/v1/tasks \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-F "files[]=@lease.pdf" \
-F 'data={"tool":"compress-pdf","options":{"level":"recommended"}}'
# 201 Created
{ "id": "…", "tool": "compress-pdf", "status": "task.queued" }// Node 18+ (fetch, FormData and Blob are built in)
import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("files[]", new Blob([await readFile("lease.pdf")]), "lease.pdf");
form.append("data", JSON.stringify({ tool: "compress-pdf", options: { level: "recommended" } }));
const res = await fetch("https://macaaw.com/public/v1/tasks", {
method: "POST",
headers: { Authorization: `API-Key ${process.env.MACAAW_API_KEY}` },
body: form,
});
const task = await res.json(); // { id, tool, status: "task.queued" }# Python 3 with requests
import json, os, requests
res = requests.post(
"https://macaaw.com/public/v1/tasks",
headers={"Authorization": f"API-Key {os.environ['MACAAW_API_KEY']}"},
files={"files[]": open("lease.pdf", "rb")},
data={"data": json.dumps({"tool": "compress-pdf", "options": {"level": "recommended"}})},
)
task = res.json() # {"id": ..., "status": "task.queued"}- 20個の PDF ツールを 1 つのエンドポイントで
- 1 回の呼び出しアップロードとタスク開始まで
- < 2 hファイルが削除されるまで
- £0サンドボックスは
作れるもの
製品が自前で抱えなくていい PDF 処理
保存する前にアップロードを縮小
ユーザーがアップロードした瞬間に PDF を圧縮したり、正確なサイズに収めたりします。
Office ファイルを PDF に変換
Word、Excel、PowerPoint、OpenDocument、HTML を、レイアウトを保ったまま PDF に変換します。
スキャンを検索可能に
27 言語に対応したテキスト認識、保管用の PDF/A、表を直接 Excel に。
自社アプリから契約書を送信
PDF から書類を作成し、テキストタグで入力欄を配置して送信し、署名済みの控えをダウンロードします。
製品に署名を組み込む
許可したオリジンに限定して、サイト内で署名セッションを開きます。
Webhook でバッチ処理を実行
数百のタスクを開始し、完了するたびに署名付きのコールバックを受け取ります。
仕組み
キーから結果まで、4 回の呼び出しで
キーを作成
アカウントでサンドボックスキーを作成します。準備ができたら本番キーに切り替えます。
アカウント › 開発者タスクを開始
ファイルとツールを、1 回のマルチパートリクエストで送信します。
POST /public/v1/tasks完了を受け取る
task_completed を購読するか、タスクをポーリングします。
webhook: task_completedダウンロード
結果を取得し、削除するか、期限切れになるのを待ちます。
GET /tasks/{id}/download
エンドポイント
小さく、予測しやすい API
ベース URL https://macaaw.com/public/v1 · snake_case のキーを持つ JSON · Authorization: API-Key …
タスク · PDF ツール
- GET
/tools呼び出せるすべてのツールとそのオプション - POST
/tasksファイルのアップロードとツールの開始を 1 回の呼び出しで - GET
/tasks/{id}ステータス:待機中、処理中、完了、または失敗 - GET
/tasks/{id}/download結果ファイル、または ZIP - DELETE
/tasks/{id}ファイルを今すぐ削除
ドキュメント · 電子署名
- POST
/documentsPDF と、受信者・入力欄、またはテキストタグ - POST
/documents/{id}/sendメールで送信、または埋め込み署名用に通知なしで送信 - GET
/documents/{id}/details受信者、入力欄、全タイムライン - POST
/documents/{id}/session自社ページ用の署名リンク - GET
/documents/{id}/download証明書付きの署名済み PDF
Webhook
- POST
/webhook-subscriptionstask_completed や document_state_changed などのトリガーを選択 - GET
/webhook-events配信履歴(再送付き)
セキュリティ
初日から本番運用を想定した設計
ウェブサイトと同じ削除ルールと英国での処理に加え、開発チームが求める制御機能を備えています。
- 自分で管理できるキー本番キーとサンドボックスキーは、一度だけ表示され、ハッシュとして保存されます。どのキーもアカウントから無効にできます。
- 署名付き Webhook配信ごとに、共有キーで作成した本文の HMAC-SHA256 を ?signature= として付与します。
- すばやいファイル削除タスクのファイルは、無料アカウントでは 1 時間、Pro とビジネスでは 2 時間保管された後、削除されます。DELETE を使うと、すぐに削除できます。
- 英国での処理すべてのタスクはロンドンにある当社サーバーで実行されます。リクエストログには、ファイルの内容もファイル名も保存されません。
- 公平なレート制限ユーザーごとに 1 分あたり 120 件の新規タスク。429 には必ず Retry-After が付きます。
- 安全な再試行Idempotency-Key を送ると、同じリクエストを繰り返しても 24 時間は最初の結果が返されます。
料金
無料で始めて、成長に合わせてお支払い。
サンドボックス
£0
- テストデータで、すべてのエンドポイントを利用可能
- 1 分あたり 10 リクエスト
- 1 タスクあたり最大 5 ページ
- 出力に「Sandbox」のスタンプ
- テストデータは 7 日後に削除
本番利用(Pro またはビジネス)
£4.99 から月額、年払い
- プランの月間の利用枠を使用
- その後はクレジット:500 クレジットで £5 から
- OCR は 1 ページあたり 1 クレジット、Office 変換は 1 件あたり 2 クレジット
- 1 分あたり 120 件の新規タスク
よくある質問
開発者からのご質問
API を無料で試せますか?
はい。サインインしているユーザーなら誰でも、無料でサンドボックスキーを作成できます。サンドボックスの呼び出しは 1 分あたり 10 回、1 タスクあたり 5 ページまでに制限され、すべての出力に「Sandbox」のスタンプが入り、テストデータは 7 日後に削除されます。
どのツールを呼び出せますか?
圧縮や OCR から Office 変換、PDF/A まで、当社サーバーで実行される 20 個のツールと、電子署名です。GET /tools で、オプションとともに一覧を取得できます。ブラウザで動作する 20 個のツールはユーザーのブラウザ内で実行されるため、API v1 には含まれません。
API の利用料金はどのように課金されますか?
本番キーは Pro とビジネスに付属します。呼び出しにはウェブサイトと同じ月間の利用枠が使われ、それを超えるとクレジットが適用されます。クレジットパックは 500 クレジットで £5 からで、有効期間は 12 か月です。
SDK はありますか?
ドキュメントには、すべてのエンドポイントについて、curl、Node、Python のコピー&ペースト用サンプル、OpenAPI 3.1 ファイル、Postman コレクションがあり、どの言語でもクライアントを生成できます。
Webhook のエンドポイントが停止しているとどうなりますか?
1 分後、10 分後、1 時間後の計 3 回再試行し、それでも届かなければ配信を失敗としてマークします。アカウントまたは API から再送できます。
PDF 機能を、今週リリース。
サンドボックスキーは 1 分で作成できます。カードは不要です。