Contents
アカウントログインとオプション選択
GMOサインの管理者アカウントにログイン後、左メニューから「設定」→「API連携オプション」を選択します。
注意点: 既存プラン(フリープランやライトプラン)ではAPI連携は利用不可です。契約印&実印プランに加入している必要があります(公式ヘルプセンター)。
申請の手順
- プラン選択: API連携オプションの契約を確認し、申請に進む。
- 書類準備: 法人登記証明書や契約書などのPDF形式の証明資料を整える。
- 申請期限: 5〜7営業日で審査結果が通知されるため、余裕を持って申請する。
GMOサイン顧客IDとシークレットキーの取得方法
API連携を開始するには、顧客IDとシークレットキーという2つの認証情報を取得する必要があります。以下に具体的な操作手順を説明します。
重要: シークレットキーは暗号化して保存し、定期的な再発行を推奨してください(例: 半年ごと)。漏洩が発生した場合、即座に無効化する必要があります。
認証情報の取得手順
- API連携メニューへ移動: メインメニューから「API連携」を選択。
- 認証情報管理タブを開く: 「新規作成ボタン」をクリックし、顧客IDとシークレットキーを生成。
セキュリティ対策の実装例
-
環境変数での管理(推奨):
bash
export GMO_SIGN_CUSTOMER_ID="xxxxx"
export GMO_SIGN_SECRET_KEY="yyyyy" -
暗号化保存ツール: AWS Secrets ManagerやHashiCorp Vaultを使用し、ローカル開発環境では
.envファイルを.gitignoreで除外。
外部システムでの認証情報設定プロセス
顧客IDとシークレットキーは外部システム(例: カスタム開発アプリやSaaS)で安全に管理する必要があります。以下が実務で推奨されるベストプラクティスです。
技術環境依存リスク: AWS Secrets Manager/HashiCorp Vaultの利用は、導入企業の既存技術インフラに強く依存します(例: 未対応企業では代替手段が必要)。
認証情報の管理方法比較
| 管理方法 | 特徴 | 対応要件 |
|---|---|---|
| 環境変数 | 簡単な実装、開発環境で使いやすい | 本番環境との切り替えが必要 |
| AWS Secrets Manager | 暗号化保存とアクセス制限の自動化 | AWSアカウントが必要 |
| HashiCorp Vault | マルチクラウド対応、ロールベース管理 | HashiCorp環境整備が必要 |
SOAP/XMLベースのAPIドキュメント活用法
GMOサインのAPIはSOAPとXML形式を前提とした設計です。公式ドキュメントの読み方や実装例を解説します。
WSDLファイルの利用方法
- 「API連携」メニューから「WSDLダウンロード」を選択し、
gmosign.wsdlを取得。 - SOAPクライアントツール(例: Apache CXF、Postman)でWSDLを読み込み、メソッド呼び出し可能。
アクセストークン自動取得の仕組み
API連携には、OAuth2.0フローによるアクセストークン発行が必須です。以下に具体的なプロセスを解説します。
OAuth2.0フローの詳細
- client_credentialsフロー: GMOサイン公式ドキュメントと一致しています(参考)。
- リクエスト例:
http
POST /oauth/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id={customer_id}&client_secret={secret_key}
リフレッシュトークンの管理
- アクセストークン: 有効期限は通常30分程度。リフレッシュトークンで自動更新が必要です。
- キャッシュ構成例:
java
// Redisでのトークンキャッシュ処理(Javaサンプル)
String refreshToken = getFromRedis("refresh_token_key");
if (isExpired(refreshToken)) {
updateAccessToken();
}
Javaサンプルコードの実装例
GMOサインのAPIをJavaで利用する場合、GmoSignServiceクラスとGmoSignPortTypeインターフェースが使用されます。以下は契約書アップロードの具体例です(現行API仕様に合致)。
サンプルコード構造
GmoSignService: WSDLからジェネレートされたサービスクラスGmoSignPortType: APIメソッド呼び出し用インターフェース
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// 契約書アップロードのJava実装例(API仕様に準拠) public class ContractUploader { public static void main(String[] args) { GmoSignService service = new GmoSignService(); GmoSignPortType port = service.getGmoSignPort(); UploadRequest request = new UploadRequest(); request.setCustomerId("xxxxx"); request.setSecretKey("yyyyy"); request.setFileContent(Base64.getEncoder().encodeToString(pdfBytes)); UploadResponse response = port.upload(request); System.out.println("アップロードステータス: " + response.getStatus()); } } |
注意:
GmoSignServiceとGmoSignPortTypeの利用は、公式ドキュメントに記載されたクラス構造に基づいています。
契約書アップロード時のAPI連携フロー例
契約書のアップロードをAPIで実現する際には、ファイル形式やステータス確認が重要です。以下に具体的なシナリオを提示します。
アップロードの手順と注意点
- PDF/Wordデータの準備: 10MB未満のファイルをbase64エンコードする。
- API呼び出し:
uploadメソッドでファイルを送信し、ステータス監視APIを用いて完了状態を確認。
ステータスコード一覧表
| ステータスコード | 意味 | 対応処理 |
|---|---|---|
| 200 | 成功 | 署名プロセスへ進める |
| 400 | パラメータエラー | 再送信またはパラメータ修正 |
| 503 | サーバーエラー | 1時間後にリトライ |
まとめ
本記事では、GMOサインのAPI連携に関する以下のポイントを解説しました。
- 申し込みフロー: オプションプラン申請から審査結果確認まで
- 認証情報管理: 顧客IDとシークレットキーの取得・セキュリティ対策
- 外部システム設定: 環境変数や暗号化保存での実装例
- APIドキュメント活用: WSDLファイルのダウンロードとSOAP実装手順
- トークン管理: OAuth2.0フローによるアクセストークン自動取得
- 契約書アップロード: ファイル形式要件とステータス監視APIの利用方法
API連携は初期導入がやや複雑ですが、手順を守れば業務効率化に大きく貢献します。実務での導入は早めに進めることで、早期メリットを得ることが可能です。