パブリックAPI v1
電子署名をシステムに統合
エンベロープ送信、署名追跡、ウェブフック受信。シンプルなREST API、OpenAPI 3.0、curl/Node/Pythonの例 — Certyneを数時間でHRIS、CRM、業務システムに統合できます。
3つのステップ:設定からAPIキーを作成、PDFをBase64エンコード、送信します。レスポンスに含まれる`signUrl`をそのままあて先に共有できます。
エンベロープ
cURLbash
curl -X POST https://certyneo.com/api/v1/envelopes \
-H "Authorization: Bearer ck_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"subject": "Contrat de prestation",
"signers": [
{ "email": "[email protected]", "name": "Marie Dubois" }
],
"documents": [
{ "name": "contrat.pdf", "base64Pdf": "<base64>" }
]
}'JavaScript / Nodets
// npm install @certyneo/sdk (or call fetch directly)
const r = await fetch("https://certyneo.com/api/v1/envelopes", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CERTYNEO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
subject: "Contrat de prestation",
signers: [{ email: "[email protected]", name: "Marie Dubois" }],
documents: [{ name: "contrat.pdf", base64Pdf }],
}),
});
const envelope = await r.json();
console.log(envelope.id, envelope.signers[0].signUrl);Pythonpython
import requests, base64, os
with open("contrat.pdf", "rb") as f:
base64_pdf = base64.b64encode(f.read()).decode()
r = requests.post(
"https://certyneo.com/api/v1/envelopes",
headers={"Authorization": f"Bearer {os.environ['CERTYNEO_API_KEY']}"},
json={
"subject": "Contrat de prestation",
"signers": [{"email": "[email protected]", "name": "Marie Dubois"}],
"documents": [{"name": "contrat.pdf", "base64Pdf": base64_pdf}],
},
)
envelope = r.json()
print(envelope["id"], envelope["signers"][0]["signUrl"])作成、送信、ステータス追跡、キャンセル。エンベロープは複数のドキュメントと複数の署名者(並列または順序付き)に対応します。
ウェブフック
`envelope.created`、`envelope.completed`、`envelope.declined`をご指定のURLで受信します。各ペイロードにHMAC SHA-256署名を付与し、発信元を検証できます。
シンプルな認証
ベアラートークン方式。環境ごとに1キー(テスト/本番)。即座に無効化可能。100リクエスト/分/キーの制限、10秒以内の最大200リクエストのバースト許容、429ステータスにRetry-Afterヘッダ付与。
利用可能なエンドポイント
全署名サイクルをカバーする12ルート:エンベロープ、ドキュメント、ウェブフック、APIキー。すべてのルートはベアラートークンを受け入れ、JSONを返します。
レート制限
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/envelopes | List envelopes |
| POST | /api/v1/envelopes | Create + send |
| GET | /api/v1/envelopes/{id} | Fetch state |
| DELETE | /api/v1/envelopes/{id} | Void |
| POST | /api/v1/envelopes/{id}/send | Re-trigger send |
| GET | /api/v1/documents | List documents |
| GET | /api/v1/webhooks | List webhooks |
| POST | /api/v1/webhooks | Register webhook |
| DELETE | /api/v1/webhooks/{id} | Unregister |
| GET | /api/v1/keys | List API keys |
| POST | /api/v1/keys | Create API key |
| DELETE | /api/v1/keys/{id} | Revoke key |
レート制限はすべてのクライアントに安定したサービス品質を保証します。より高い制限が必要な場合はお問い合わせください。
APIキーあたり1分間に100リクエスト
- • 10秒以内の最大200リクエストのバーストを許容
- • 429ステータスレスポンスにRetry-Afterヘッダで再試行間隔(秒)を指定
- • 秒単位の遅延を示す Retry-After ヘッダー付きの 429 レスポンス